Serialization 如何将复杂对象存储到hadoop Hbase中?

Serialization 如何将复杂对象存储到hadoop Hbase中?,serialization,hadoop,hbase,Serialization,Hadoop,Hbase,我有一些复杂的对象,其中包含需要存储到Hadoop的集合字段。我不想遍历整个对象树并显式存储每个字段。所以我只考虑复杂字段的序列化,并将其存储为一大块。而不是在读取对象时将其理想化。那么最好的方法是什么呢?我考虑过使用某种序列化,但我希望Hadoop有办法处理这种情况 要存储的示例对象的类: class ComplexClass { <simple fields> List<AnotherComplexClassWithCollectionFields> collec

我有一些复杂的对象,其中包含需要存储到Hadoop的集合字段。我不想遍历整个对象树并显式存储每个字段。所以我只考虑复杂字段的序列化,并将其存储为一大块。而不是在读取对象时将其理想化。那么最好的方法是什么呢?我考虑过使用某种序列化,但我希望Hadoop有办法处理这种情况

要存储的示例对象的类:

class ComplexClass {

<simple fields>

List<AnotherComplexClassWithCollectionFields> collection;


}
类ComplexClass{
清单收集;
}

HBase只处理字节数组,因此您可以以任何合适的方式序列化对象

Hadoop序列化对象的标准方式是实现
org.apache.Hadoop.io.Writable
接口。然后,您可以使用
org.apache.hadoop.io.WritableUtils.toByteArray(Writable…Writable)
将对象序列化为字节数组


此外,Hadoop社区的人们还使用其他序列化框架,如Avro、协议缓冲区和Thrift。所有这些都有其特定的用例,你的研究也是如此。如果您正在做一些简单的事情,那么实现Hadoop的可写应该足够好了。

谢谢。如何将字节数组转换回原始(可写)对象,这就是反序列化的样子?最好使用Hadoop的serde方法。@bajafresh4life:你能帮我解决这个问题吗。我对HBase非常陌生,并用简单的步骤指导我。非常感谢。