首页 > 解决方案 > NiFi中PutHBaseRecord行标识符字段名称属性中的多个列名

问题描述

我有一个从 Oracle 表中提取行并通过 NiFi 将其放入 Hbase 的简单流程。

要从数据库中提取数据,我使用“QueryDataBase 表”并将其放入 HBase,我使用的是“PutHbase Record”处理器。

通常,无论我的表的主键是什么,我都将它用作 putHbaseRecord 中的“行标识符字段”。

当存在复合主键时,我的问题出现了,因为 putHbase 记录处理器中的行标识符字段属性没有占用多列。

这方面的任何帮助都会非常有帮助。

谢谢

标签: databasehbaseapache-nifi

解决方案


不幸的是,PutHBaseRecord 目前无法做到这一点。它需要对处理器进行代码更改以允许为行 ID 指定多个字段名称,然后它必须从每个记录中获取它们并将它们连接在一起以形成行 ID 值。

将属性设置为创建行 ID 的记录路径表达式可能会更好。这样,如果你想要一个单一的值,你只需输入类似'/field1'的东西,如果你想要一个复合值,你会做类似“concat('/field1', '/field2')”的东西。


推荐阅读