Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache nifi Nifi记录计数_Apache Nifi - Fatal编程技术网

Apache nifi Nifi记录计数

Apache nifi Nifi记录计数,apache-nifi,Apache Nifi,我正在使用Nifi从远程服务器获取文件:我的文件如下: timestamp (ms), nodeID,value 12345,x,12.4 12346,x,12.7 12348,x,13.4 12356,x,13,6 12355,y,12.0 我现在只需要获取、提取和拆分行并将它们发送给卡夫卡,但在此之前,我需要对我的记录应用校验和方法,并根据时间戳对它们进行聚合,我需要做的是在我的内容中添加一列,并根据聚合的时间戳对记录进行计数,例如,基于每10毫秒和节点ID的聚合 timestamp (m

我正在使用Nifi从远程服务器获取文件:我的文件如下:

timestamp (ms), nodeID,value
12345,x,12.4
12346,x,12.7
12348,x,13.4
12356,x,13,6
12355,y,12.0
我现在只需要获取、提取和拆分行并将它们发送给卡夫卡,但在此之前,我需要对我的记录应用校验和方法,并根据时间戳对它们进行聚合,我需要做的是在我的内容中添加一列,并根据聚合的时间戳对记录进行计数,例如,基于每10毫秒和节点ID的聚合

timestamp (ms), nodeID,value, counts
12345,x,12.4,3
12346,x,12.7,3
12348,x,13.4,3
12356,x,13,6,1
12355,y,12.0,1
如何在NiFi中执行上述过程。我是Nifi的新手,但需要在Nifi过程中添加上述功能。我目前正在使用以下nifi流程
这可能无法直接回答你的问题,但是你应该考虑重构你的流程来使用“记录”处理器。它将大大简化事情,并可能使您更接近能够进行聚合

这样做的目的是不分割记录,而是就地处理它们。考虑到您当前的流程,FetchSFTP之后的4个处理器希望更改为将CSV转换为JSON的单个ConvertRecord处理器。首先需要为数据定义一个简单的Avro模式

一旦完成了记录处理设置,就可以使用PartitionRecord按节点id对记录进行分区,然后就可以知道如何按时间戳计数了

一些额外的资源


<>这可能不能直接回答你的问题,但是你应该考虑重构你的流程来使用“记录”处理器。它将大大简化事情,并可能使您更接近能够进行聚合

这样做的目的是不分割记录,而是就地处理它们。考虑到您当前的流程,FetchSFTP之后的4个处理器希望更改为将CSV转换为JSON的单个ConvertRecord处理器。首先需要为数据定义一个简单的Avro模式

一旦完成了记录处理设置,就可以使用PartitionRecord按节点id对记录进行分区,然后就可以知道如何按时间戳计数了

一些额外的资源


每组中的行数未知。我在这里只看到
ExecuteScript
或自定义进程,每个组中的行数未知。我在这里只看到
ExecuteScript
或自定义进程Ori think PartitionRecord,大多数/所有记录感知处理器都会编写一个名为record.count的属性,该属性应包含处理或输出的记录数的适当值(有关详细信息,请查看每个处理器的文档)我认为PartitionRecord和大多数/所有记录感知处理器都会编写一个名为record.count的属性,该属性应包含处理或输出的记录数的适当值(有关更多详细信息,请查看每个处理器的文档)