HDP-2.5.3.0,NiFi 1.1.1自定義NiFi處理器所需的存儲數據
我在NiFi中編寫了自定義處理器。有幾個字符串和時間戳記字段需要存儲在某個地方,以便所有/任何節點都可用。
@Tags({ "example" })
@CapabilityDescription("Provide a description")
@SeeAlso({})
@ReadsAttributes({ @ReadsAttribute(attribute = "", description = "") })
@WritesAttributes({ @WritesAttribute(attribute = "", description = "") })
public class MyProcessor extends AbstractProcessor {
.
.
.
private List<PropertyDescriptor> descriptors;
private Set<Relationship> relationships;
/* Persist these, probably, in ZK */
private Timestamp lastRunAt;
private String startPoint;
.
.
.
@Override
public void onTrigger(final ProcessContext context,final ProcessSession session) throws ProcessException {FlowFile flowFile = session.get();
/*Retrieve lastRunAt & startPoint and use*/
lastRunAt ;
startPoint ;
.
.
.
}
}
請注意,HDFS不是一個選項,因爲NiFi可以在沒有任何Hadoop安裝的情況下運行。
有什麼選擇可以做到這一點 - 我想知道Zookeeper是否可以用來存儲這些數據,因爲它的體積很小,NiFi是由ZK支持的。我試圖找到方法來使用Zookeeper API來保留這些字段,這是徒勞的。