我有一个简单的流程,可以从Oracle Table中提取行并将其通过NiFi放入Hbase。
要从数据库中提取数据,我正在使用“ QueryDataBase表”并将其放入HBase,我正在使用“ PutHbase记录”处理器。
通常,无论我的表的主键是什么,我都将其用作putHbaseRecord中的“行标识符字段”。
当有复合主键时出现了我的问题,因为putHbase记录处理器中的行标识符字段属性不占用多列。
对此的任何帮助都会很有帮助。
谢谢
答案 0 :(得分:1)
不幸的是,PutHBaseRecord目前无法实现。它将需要对处理器进行代码更改,以允许为行ID指定多个字段名称,然后必须从每个记录中获取它们并将它们连接在一起以形成行ID值。
最好使该属性成为创建行ID的记录路径表达式。这样,如果您想要一个单一值,则只需要输入'/ field1',如果您想要一个复合值,则可以执行“ concat('/ field1','/ field2')”。