Nifi:如何在csv文件中合并多列?

时间:2019-05-31 06:01:16

标签: apache-nifi

nifi版本:1.5

输入文件:

col1,col2,col3,col4,col5,col6
a,hr,nat,REF,6,2481
a,hr,nat,TDB,6,1845
b,IT,raj,NAV,6,2678

我想根据col1通过/将定界符和分隔符的最后三列合并。

预期输出:

col1,col2,col3,col4
a,hr,nat,REF:6:2481/TDB:6:1845
b,IT,raj,NAV:6:2678

我找不到解决方案,因为很多响应都基于合并两个文件。 有更好的方法吗?

tia。

1 个答案:

答案 0 :(得分:0)

我想您首先需要一个PartitionRecord处理器,其分区字段为col1,这会将流文件拆分为多个流文件,其中col1的每个不同值都将位于其自己的流文件中。如果将前三列用于分区,则可以将所有三列添加为用户定义的分区属性。

然后,无论您使用脚本解决方案还是QueryRecord(如果Calcite支持“ group by”串联),内存使用量都应减少,因为您仅在处理流文件时指定的行已关联组。