簡體   English   中英

如何將復雜對象存儲到hadoop Hbase中?

[英]How to store complex objects into hadoop Hbase?

我有復雜的對象,收集字段需要存儲到Hadoop。 我不想遍歷整個對象樹並明確存儲每個字段。 所以我只考慮復雜字段的序列化並將其存儲為一個大塊。 而不是在閱讀對象時絕望。 那么最好的方法是什么? 我雖然為此使用了某種類型的血清,但我希望Hadoop有辦法處理這種情況。

要存儲的示例對象的類:

class ComplexClass {

<simple fields>

List<AnotherComplexClassWithCollectionFields> collection;


}

HBase只處理字節數組,因此您可以以任何您認為合適的方式序列化對象。

序列化對象的標准Hadoop方法是實現org.apache.hadoop.io.Writable接口。 然后,您可以使用org.apache.hadoop.io.WritableUtils.toByteArray(Writable ... writable)將對象序列化為字節數組。

此外,Hadoop社區中的人們還使用其他序列化框架,如Avro,Protocol Buffers和Thrift。 所有都有他們的具體用例,你的研究也是如此。 如果你做的很簡單,那么實現Hadoop的Writable應該足夠好了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM