首页 文章

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

提问于
浏览
0

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

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

现在,挑战是读取属性' hbase.row '的内容,这是一个JSON,选择一个 field-value 对,将其附加到流文件内容

1 回答

  • 1

    表达式语言有一个jsonPath函数:

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

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

    之后,您应该能够使用UpdateRecord将值添加到流文件内容中,假设您的模式具有该值的字段 .

相关问题