Vla*_*mir 3 serialization hadoop hbase
我有复杂的对象,收集字段需要存储到Hadoop.我不想遍历整个对象树并明确存储每个字段.所以我只考虑复杂字段的序列化并将其存储为一个大块.而不是在阅读对象时绝望.那么最好的方法是什么?我虽然为此使用了某种类型的血清,但我希望Hadoop有办法处理这种情况.
要存储的示例对象的类:
class ComplexClass {
<simple fields>
List<AnotherComplexClassWithCollectionFields> collection;
}
Run Code Online (Sandbox Code Playgroud)
HBase只处理字节数组,因此您可以以任何您认为合适的方式序列化对象.
序列化对象的标准Hadoop方式是实现org.apache.hadoop.io.Writable接口.然后,您可以使用将序列化为字节数组org.apache.hadoop.io.WritableUtils.toByteArray(Writable ... writable).
此外,Hadoop社区中的人们还使用其他序列化框架,如Avro,Protocol Buffers和Thrift.所有都有他们的具体用例,你的研究也是如此.如果你做的很简单,那么实现Hadoop的Writable应该足够好了.
| 归档时间: |
|
| 查看次数: |
4937 次 |
| 最近记录: |