合并相同的流文件,同时在Nifi中保存唯一属性

时间:2019-08-29 17:38:46

标签: apache-nifi

我有一个流文件,它将通过一个模板使用几个不同的路径,并且我想合并结果。我的问题是流文件都将具有相同的内容,只是基于内容的一些不同属性。

我想知道是否有可能使用合并处理器之一合并两个相同的流文件,但是否使单个结果流文件具有从每个单独的输入中设置的所有属性。

例如:流文件1的内容为“ hello”,属性为“ b = 4”。流文件2具有内容“ hello”和属性“ a = 3”。我希望结果流文件具有内容“ hello”和属性“ a = 3”和“ b = 4”。 Nifi有可能吗?

2 个答案:

答案 0 :(得分:1)

合并处理器用于合并流文件的内容以创建大型流文件。因此,在您的示例中,流文件的内容最终为“ hellohello”,或者如果您使用换行符,则为“ hello \ nhello”。

您可能可以创建一个自定义处理器,或使用ExecuteScript来仅合并属性。之类的东西不存在,因为只有在您假设流文件的内容相同的情况下才有意义,这是通常无法假定的。

答案 1 :(得分:0)

您可以通过在Attribute Strategy处理器中将Keep All Unique Attributes设置为MergeContent来实现此目标,如下所示 enter image description here

根据您的示例,此处合并的流文件的属性如下-

enter image description here