面向记录的InvokeHTTP处理器

时间:2019-04-01 11:22:13

标签: apache-nifi

我有一个csv文件

longtitude,lagtitude
34.094933,-118.30674
34.095028,-118.306625
(more to go)

我使用UpdateRecord Processor(支持记录处理)和CSVRecordSetWriter(使用RecordPath(https://nifi.apache.org/docs/nifi-docs/html/record-path-guide.html)来准备gis字段。

longtitude,lagtitude,gis
34.094933,-118.30674,"34.094933,-118.30674"
34.095028,-118.306625,"34.095028,-118.306625"

下一步是检索gis作为HTTP API的输入参数,该HTTP API返回我要存储的信息(poi)。

longtitude,lagtitude,gis,poi
34.094933,-118.30674,"34.094933,-118.30674","Restaurant A"
34.095028,-118.306625,"34.095028,-118.306625","Cinema X"

似乎InvokeHTTP Processor无法以面向记录的方式进行处理。有什么可能的解决方案来准备上面的内容而无需进一步拆分?

1 个答案:

答案 0 :(得分:3)

当您想要像这样丰富每条记录时,通常在NiFi中通过将LookupRecord处理器与LookupService一起使用来处理。基本上是说,对于传入流文件中的每个记录,将记录的某些字段传递给查找服务,然后获取查找结果并将其存储回记录中。

对于您的示例来说,听起来像您想要一个RestLookupService:

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-lookup-services-nar/1.9.1/org.apache.nifi.lookup.RestLookupService/index.html