我有以下使用apache-nifi的场景
Flowfile1:
id,name
1,sachith
2,nalaka
3,muhaFlowfile2:
id,email
1,sachith@email.com
2,nalaka@email.com合并这两个flowfile后,结果应该是:
id,name,email
1,sachith,sachith@email.com
2,nalaka,nalaka@email.com
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,但它没有太多细节。
发布于 2019-12-05 10:55:20
如果您可以使用带有CSVRecordLookupService的LookupRecord,而不是两个流文件,那么您应该能够使用来自另一个流文件的详细信息来丰富原始的流文件。
做一个流丰富本身并不是一个真正的多流操作,因为流文件可能在不同的时间和不同的地方到来,如果流文件还没有被丰富,你将如何决定何时发送它,或者在等待匹配的过程中存储未丰富的流文件需要多少内存?
在NiFi世界中,假设有一个用于丰富数据的“静态”位置,并且使用带有LookupService的LookupRecord,您可以在数据传入时丰富数据。当然,一些LookupService实现可能支持更新(比如在添加了更多行的情况下支持DatabaseRecordLookupService ),但是丰富是在处理输入流文件的时间点进行的,因此LookupRecord只能在进行查找时访问LookupService中的可用内容。
https://stackoverflow.com/questions/59151217
复制相似问题