将avro文件保存到Hbase Apache NIFI

将avro文件保存到Hbase Apache NIFI,hbase,avro,apache-nifi,Hbase,Avro,Apache Nifi,我从ORACLE DB获取数据,我希望不使用(convertAvroToJson和putHbaseJSON)将其保存在hbase中 从oracle我得到了如下4个属性: a:文本 b:文本 c:文本 d:二进制 有没有办法直接从avro文件保存这些属性 注意:阻止我使用JSON的唯一原因是可能包含(“或”)的二进制属性 谢谢。我认为Apache NiFi提供的开箱即用处理器没有办法做到这一点。您需要实现一个新的处理器,如PutHBaseAvro,它可以直接从Avro到HBase,并正确处理二进制

我从ORACLE DB获取数据,我希望不使用(convertAvroToJson和putHbaseJSON)将其保存在hbase中

从oracle我得到了如下4个属性: a:文本 b:文本 c:文本 d:二进制

有没有办法直接从avro文件保存这些属性

注意:阻止我使用JSON的唯一原因是可能包含(“或”)的二进制属性


谢谢。

我认为Apache NiFi提供的开箱即用处理器没有办法做到这一点。您需要实现一个新的处理器,如PutHBaseAvro,它可以直接从Avro到HBase,并正确处理二进制数据

有一个AbstractPutHBase类可以扩展以更轻松地实现新的put HBase处理器:

您只需实现以下方法:

protected abstract PutFlowFile createPut(final ProcessSession session, final ProcessContext context, final FlowFile flowFile);
它将以Avro的形式读取流文件的内容,并将其转换为PutFlowFile


如果您有兴趣对此进行研究并提供反馈,这将是HBase处理器的一个很好的版本。

我认为Apache NiFi提供的开箱即用处理器没有办法做到这一点。您需要实现一个新的处理器,如PutHBaseAvro,它可以直接从Avro到HBase处理器,并且操作性地处理二进制数据

有一个AbstractPutHBase类可以扩展以更轻松地实现新的put HBase处理器:

您只需实现以下方法:

protected abstract PutFlowFile createPut(final ProcessSession session, final ProcessContext context, final FlowFile flowFile);
它将以Avro的形式读取流文件的内容,并将其转换为PutFlowFile

如果您有兴趣对此进行研究并将其贡献回来,那么它将是HBase处理器的一个不错的版本