首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用apache-nifi将两个流文件合并为一个流

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

Stack Overflow用户
提问于 2019-12-03 14:21:50
回答 1查看 525关注 0票数 0

我有以下使用apache-nifi的场景

Flowfile1:

代码语言:javascript
复制
id,name
1,sachith
2,nalaka
3,muha

Flowfile2:

代码语言:javascript
复制
id,email
1,sachith@email.com
2,nalaka@email.com

合并这两个flowfile后,结果应该是:

代码语言:javascript
复制
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,但它没有太多细节。

EN

回答 1

Stack Overflow用户

发布于 2019-12-05 10:55:20

如果您可以使用带有CSVRecordLookupService的LookupRecord,而不是两个流文件,那么您应该能够使用来自另一个流文件的详细信息来丰富原始的流文件。

做一个流丰富本身并不是一个真正的多流操作,因为流文件可能在不同的时间和不同的地方到来,如果流文件还没有被丰富,你将如何决定何时发送它,或者在等待匹配的过程中存储未丰富的流文件需要多少内存?

在NiFi世界中,假设有一个用于丰富数据的“静态”位置,并且使用带有LookupService的LookupRecord,您可以在数据传入时丰富数据。当然,一些LookupService实现可能支持更新(比如在添加了更多行的情况下支持DatabaseRecordLookupService ),但是丰富是在处理输入流文件的时间点进行的,因此LookupRecord只能在进行查找时访问LookupService中的可用内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59151217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档