将avro文件保存到hbase apache nifi

pbpqsu0x  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(316)

我从oracledb获取数据,我想不使用(convertavrotojson和puthbasejson)而将其保存在hbase中
从oracle我得到了如下4个属性:a:textb:textc:texdd:binary
有没有办法直接从avro文件保存这些属性
注意:阻止我使用json的唯一原因是二进制属性可能包含(“or”)
谢谢您。

6vl6ewon

6vl6ewon1#

我不认为有一种方法可以用apachenifi提供的现成处理器来实现这一点。您需要实现一个新的处理器,比如puthbasavro,它可以直接从avro到hbase,并正确地处理二进制数据。
有一个abstractputhbase类可以扩展,以便更轻松地实现新的put hbase处理器:
https://github.com/apache/nifi/blob/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/abstractputhbase.java
您只需实现以下方法:

protected abstract PutFlowFile createPut(final ProcessSession session, final ProcessContext context, final FlowFile flowFile);

它将流文件的内容作为avro读取并转换为putflowfile。
如果您有兴趣在这方面的工作和贡献它回来,这将是一个很好的版本的hbase处理器。

相关问题