如何在Apache NiFi中按顺序合并同名FlowFile
合并同名FlowFile并按顺序追加内容
要实现两个同名FlowFile(如sample.txt)按先后顺序合并,保留第一个内容后追加第二个,可通过NiFi的MergeContent处理器完成,具体配置和步骤如下:
核心配置(MergeContent处理器)
- 合并策略(Merge Strategy):选择
Bin-Packaging,基于指定属性分组合并 - 分组属性(Attribute to Use for Grouping):设置为
filename,确保同名FlowFile被分到同一组 - 合并模式(Merge Mode):选择
Concatenate,按FlowFile进入组的顺序追加内容 - 分隔符策略(Delimiter Strategy):选择
No Delimiter(若原内容末尾已有换行,无需额外添加;如需强制换行可选Text并设置分隔符为\n) - 最小条目数(Minimum Number of Entries):设为
2,确保凑齐两个FlowFile才触发合并 - 最大条目数(Maximum Number of Entries):设为
2,避免合并超出数量的FlowFile
确保顺序的额外处理
如果需要严格保证第一个FlowFile先被合并,可在MergeContent前添加PrioritizeAttribute处理器:
- 给第一个FlowFile设置自定义属性(如
merge_priority=1),第二个设置merge_priority=2 - 配置PrioritizeAttribute按
merge_priority属性升序排序,让MergeContent按指定顺序合并
示例验证
第一个FlowFile内容:
AAA BBB CCC DDD
第二个FlowFile内容:
EEE FFF
合并后预期结果:
AAA BBB CCC DDD EEE FFF
内容的提问来源于stack exchange,提问作者Amarnatha Reddy
相关产品推荐
相关产品推荐

