如何使用 LookUpRecord 处理器?

how to use LookUpRecord processor?

我尝试根据以下参考资料根据 id 加入两个 csv 文件。

我正在使用 NiFi-1.3.0

现在我有两个 csv 文件。

1.custom.csv

No,Name,ID,Age
1,Hik,2201,33
2,Kio,3300,22

2.gender.csv

ID,Name,Sex
2201,Hik,Male
3300,Kio,Female

我尝试将这些表与 "ID" 结合起来,就像下面的最终结果。

No,Name,Sex,ID,Age
1,Hik,Male,2201,33
2,Kio,Female,3300,22

我使用了以下处理器结构。

GetFile-SplitText-ExtractText-LookUpRecord-PutFile

在那个查找记录中我配置了

RecordReader = "CSVReader"
RecordWriter="FreeFormTextRecordSetWriter"
LookUpService="SimpleCSVFileLookUpService"

ResultRecordPath-->/Key
key-->/ID

在那个 LookUpService 中,我给出了 "gender.csv" 的 路径,并将 LookUpKeyColumn 和 LookUpValueColumn 设置为 "ID"。

在那个 FreeFormTextRecordSetWriter 中我给了文本值"${No},${Name},${ID},${Age},${Sex}"

它只产生以下结果。

No,Name,ID,Age,
1,Hik,2201,33,
2,Kio,3300,22,

它没有 "sex" 列。

我想我没有正确配置。

我不知道如何在 LookUpRecord 中使用 ResultRecordPath 和一个动态属性(键)规范?

谁能指导我解决问题?

这是在 apache nifi 邮件列表上提出并回复的。

https://lists.apache.org/thread.html/5041018de5a5be773055bb2709427eed4131c3923262b55051fb1324@%3Cusers.nifi.apache.org%3E