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

Apache nifi 如何通过从nifi中的传入流文件中引用表和行id来动态获取行,apache-nifi,Apache Nifi,在我的用例中,我将有一个hbase表,从中我将使用getHbase读取递增记录,并且该记录中的一个值应用作FetchHBaseRow处理器的输入。因此,如何从流文件访问文件内容并将其用作FetchHbaseRow的输入。您可以使用GetHBase并将其连接到EvaluateJsonPath(因为GetHBase以JSON格式输出结果)获取行ID,然后通过在FetchHBaseRow的行标识符属性中设置EvalueteJsonPath中使用的动态属性名称,在FetchHBaseRow中使用行ID

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

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

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

样本流

读取行键

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

使用解析的行键

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


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

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

样本流

读取行键

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

使用解析的行键

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


我认为第一张图片并不适合所描述的过程,但我理解这个过程。不幸的是,这个过程效率很低,因为它会为相同的数据创建两次网络流量。我认为应该有更有效的方法来实现这一点,因为它特别适用于大型表。我认为第一个图像并不真正适合所描述的过程,但我理解这个过程。不幸的是,这个过程效率很低,因为它会为相同的数据创建两次网络流量。我认为应该有一些更有效的方法来做到这一点,因为它会爆炸,特别是对于大桌子。