NiFi:如何将来自多个文件的数据合并到一个文件中

时间:2017-11-17 10:46:55

标签: groovy apache-nifi

我希望从hdfs获得超过20,000 flowfile个,并将它们重新组合成一个flowfile

我想从这些文件中获取数据(它们是xml格式)并将其输入到名为 content 的变量中,然后当我完成此过程时,我想要进行serilize {{1以所有这些数据都将在xml标记)

中注册的方式

是否有可能通过NiFi处理器完成此任务,或者我将不得不使用groovy代码?

1 个答案:

答案 0 :(得分:0)

标准的NiFi构建无法做到这一点。您当然可以创建自己的NiFi处理器,但这可能有点矫枉过正。

你必须使用groovy。我建议做的是:

1)读入HDFS文件夹中的文件

2)处理这些文件并从您想要的文件中获取数据。

3)如果您想要生成单个xml文件:在处理每个文件并获取信息时,使用fileoutputstream直接写入XML文件。这可以在本地完成,然后一旦完成,它可以移回HDFS / NiFi监视的文件夹继续你的管道。

注意:一个可以连接文件的处理器(或者像你说的那样“重新组合”) - MergeContent处理器。在你的情况下,这可能有点没用。