Java对象到Hbase

Gui*_*nto 4 java hbase phoenix avro

我目前正在使用KITE API + AVRO来处理HBase的java对象.但由于各种问题,我正在寻找替代方案.我一直在读:

  • 凤凰

  • 原生Hbase Api.

但还有更多选择吗?.我们的想法是将Java对象保存并加载到Hbase,并在Java应用程序中使用它们.

dev*_*tch 5

如果你将对象存储在KeyValue对的Value部分中,那么它实际上只是一个数组/字节序列(即在KeyValue类的代码中有一个返回字节数组的getValue方法).

此时,您需要进行对象序列化,并且可以使用大量库,具有各种易用性,性能特征和实现细节.Avro是一种类型化的序列化库,它存储每个记录的模式,但理论上你可以使用:

  • 标准Java序列化(实现Serializable)
  • KRYO
  • 的Protobuf

仅举几个.您可能想要研究每个库的各种优势及其权衡,并根据您计划存储的对象类型进行平衡(即它们是否实际上是相同类型的对象,还是它们在类型上有很大差异?它们是否会成为长期存在,即数年,并期望模式演变和向后兼容等.)