Apache nifi 如何通过从nifi中的传入流文件中引用表和行id来动态获取行
在我的用例中,我将有一个hbase表,从中我将使用getHbase读取递增记录,并且该记录中的一个值应用作FetchHBaseRow处理器的输入。因此,如何从流文件访问文件内容并将其用作FetchHbaseRow的输入。您可以使用Apache nifi 如何通过从nifi中的传入流文件中引用表和行id来动态获取行,apache-nifi,Apache Nifi,在我的用例中,我将有一个hbase表,从中我将使用getHbase读取递增记录,并且该记录中的一个值应用作FetchHBaseRow处理器的输入。因此,如何从流文件访问文件内容并将其用作FetchHbaseRow的输入。您可以使用GetHBase并将其连接到EvaluateJsonPath(因为GetHBase以JSON格式输出结果)获取行ID,然后通过在FetchHBaseRow的行标识符属性中设置EvalueteJsonPath中使用的动态属性名称,在FetchHBaseRow中使用行ID
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
我认为第一张图片并不适合所描述的过程,但我理解这个过程。不幸的是,这个过程效率很低,因为它会为相同的数据创建两次网络流量。我认为应该有更有效的方法来实现这一点,因为它特别适用于大型表。我认为第一个图像并不真正适合所描述的过程,但我理解这个过程。不幸的是,这个过程效率很低,因为它会为相同的数据创建两次网络流量。我认为应该有一些更有效的方法来做到这一点,因为它会爆炸,特别是对于大桌子。