使用 nifi 根据条件合并流文件?
Merge flow files on condition based using nifi?
我有 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 上合并流文件。
如果我使用 Key 'a' 加入的预期输出:
FF1 -> [{a:1,b:2,c:'name'},{a:1,b:5,c:'fruit'}]
FF2 -> [{a:2,b:3,c:'abc'}]
MergeContent 有一个名为 "Correlation Attribute" 的 属性,它是流文件属性的名称,将用于将具有相同属性值的流文件分组在一起(示例中的键).
您需要使用 EvaluateJsonPath、ExtractText 或一些自定义脚本处理器将字段 "a" 的值提取到流文件属性中,然后一旦您进入 [=16= 这样的属性] 然后将 "my.key" 放入关联属性 属性.
我有 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 上合并流文件。
如果我使用 Key 'a' 加入的预期输出:
FF1 -> [{a:1,b:2,c:'name'},{a:1,b:5,c:'fruit'}]
FF2 -> [{a:2,b:3,c:'abc'}]
MergeContent 有一个名为 "Correlation Attribute" 的 属性,它是流文件属性的名称,将用于将具有相同属性值的流文件分组在一起(示例中的键).
您需要使用 EvaluateJsonPath、ExtractText 或一些自定义脚本处理器将字段 "a" 的值提取到流文件属性中,然后一旦您进入 [=16= 这样的属性] 然后将 "my.key" 放入关联属性 属性.