如何通过在nifi中引用传入流文件中的表和行id来动态获取行

时间:2018-05-25 07:45:21

标签: apache-nifi

在我的用例中,我将有一个hbase表,我将使用getHbase读取增量记录,并且应该将该记录中的一个值用作FetchHBaseRow处理器的输入。那么我如何从流文件中访问文件内容并将其用作FetchHbaseRow的输入。

1 个答案:

答案 0 :(得分:3)

您可以拥有GetHBase并将其连接到EvaluateJsonPath(因为GetHBase以JSON格式输出结果)以获取行ID,然后通过设置动态来使用FetchHBaseRow中的行ID FetchHBaseRow中Row Identifier属性中EvalueteJsonPath中使用的属性名称。

在我的示例中,我提到EvaluateJsonPath用于读取行键,但您可以使用有效的Json Path表达式从GetHBase输出中读取任何值并使用它。

样本流程

Sample Flow

阅读行键

使用EvaluateJsonPath,我们正在从GetHBase处理器的JSON输出中读取行键。确保Destination设置为flowfile-attribute

Reading Row Key

使用已解析的行键

我们读取了行键并将其放在row.key属性中。在这里,我们在Row Identifier

中的属性FetchHBaseRow中使用该属性

Using parsed Row key