在使用nifi的条件下合并流文件?

时间:2018-06-28 14:08:18

标签: apache-nifi kylo

我有3个流文件,它们来自同一处理器。

FF1-> {a:1,b:2,c:'name'}

FF2-> {a:1,b:5,c:'fruit'}

FF3-> {a:2,b:3,c:'abc'}

通过使用MergeContent Processor,我可以合并所有流文件,但是我的要求是在Key上合并流文件。

如果我与键'a'一起使用,则预期输出:

FF1-> [{a:1,b:2,c:'name'},{a:1,b:5,c:'fruit'}]

FF2-> [{a:2,b:3,c:'abc'}]

1 个答案:

答案 0 :(得分:4)

MergeContent具有一个称为“ Correlation Attribute”的属性,该属性是流文件属性的名称,该属性将用于将具有相同属性值的流文件组合在一起(示例中的键)。

您将需要使用诸如EvaluateJsonPath,ExtractText或某些自定义脚本处理器之类的字段将字段“ a”的值提取到流文件属性中,然后进入诸如“ my.key”之类的属性,然后将“ my.key”放入“关联属性”属性。