使用apache-nifi将两个流文件合并为一个流

问题描述 投票:0回答:1

我在apache-nifi下有以下情况

Flowfile1:

id,name
1,sachith
2,nalaka
3,muha

Flowfile2:

id,email
1,[email protected]
2,[email protected]

合并这两个流文件后,结果应该是:

id,name,email
1,sachith,[email protected]
2,nalaka,[email protected]
3,muha,

这里最重要的部分是,3,muha,行应该在其中,email字段为空。

我已经参考了Merge two JSON flowfile together in NiFi,这与我的问题非常相似。但是不能为行添加空值。

How to join two CSVs with Apache Nifi

目前,我尝试使用MergeContent处理器,但它会附加两个流文件。不添加为具有唯一ID的新列。

这里非常相似的问题,Merge two schemas into one in Apache nifi,但没有太多细节。

csv merge apache-nifi flowfile
1个回答
0
投票

代替两个流文件,如果您可以将LookupRecord与CSVRecordLookupService一起使用,则应该能够使用来自另一个流文件的详细信息来丰富原始流文件。

进行流式增强本身并不是真正的多流操作,因为流文件可能会在不同的时间和不同的位置出现,您如何决定何时发送流文件,如果流文件没有被增强,或者流了多少?等待未匹配的流文件在等待比赛时会占用多少内存?

在NiFi世界中,假设存在一个“静态”地方来充实数据,并且通过将LookupRecord与LookupService一起使用,您可以在数据通过时对其进行充实。当然,某些LookupService实现可能支持更新(例如,如果添加了其他行,则为DatabaseRecordLookupService),但是富集发生在处理输入流文件的时间点,因此LookupRecord仅可访问当时LookupService可用的内容。查找完成。

© www.soinside.com 2019 - 2024. All rights reserved.