2016-05-24 30 views
0

我從Oracle數據庫獲取數據,我想將其保存在HBase的不使用(convertAvroToJson和putHbaseJSON)Avro的文件保存到HBase的阿帕奇NIFI

從Oracle我讓我4屬性是這樣的: 答:文字 b:文本 C:文本 d:二進制

有沒有辦法太直接從Avro的文件保存這些屬性

注意:阻止我使用JSON是二進制屬性的唯一原因可能包含(「或')

謝謝。

回答

2

我不認爲有一種方法可以通過Apache NiFi提供的開箱即用的處理器來實現。您需要實現一個像PutHBaseAvro這樣可以直接從Avro轉換到HBase突變的新處理器,並正確處理二進制數據。

有可以擴展到更輕鬆地實施新的認沽HBase的處理器的AbstractPutHBase類:

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); 

哪會將FlowFile的內容讀取爲Avro並轉換爲PutFlowFile。

如果你有興趣在這方面做出貢獻並回饋,那對HBase處理器來說將是一個不錯的版本。