Nifi将FetchHBaseRow的输出放置/附加回流文件

时间:2018-10-10 16:55:06

标签: apache-nifi

我有一个包含10个字段的csv文件。我需要查找hbase以获取与csv字段之一相对应的值。结果hbase字段应附加到csv文件中。 使用Nifi,我构建了以下流程。

  

GenerateFlowFile(创建csv记录)-> UpdateRecord(已配置   avro模式名称以读取传入的csv文件)-> ConvertRecord   (已配置CSV阅读器和JSON编写器)-> SplitJSON->   EvaluateJSONPath(获取用于hbase查找的行键)->   FetchHBaseRow(将输出作为流文件属性获取)

现在,挑战在于读取属性“ hbase.row”(它是JSON)的内容,选择一对field-value中的一个,并将其附加到流文件内容中

1 个答案:

答案 0 :(得分:1)

表达语言具有jsonPath函数:

https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#jsonpath

您应该能够使用UpdateAttribute创建包含提取字段的新属性,例如firstName = $ {myJson:jsonPath('$。firstName')}会将firstName的值提取到名为firstName的属性中,从属性myJson开始。

在那之后,假设您的模式具有该值的字段,您应该可以使用UpdateRecord将值添加到流文件内容中。