读取HBase字节串转码问题

从HBase读取数据非常容易,本人使用的是Python,HBase python支持库happybase操作起来非常方便,主要的问题就是数据编码解码问题。编码主要使用struct.pack(),解码使用struct.unpack()。最简单的方法就是向HBase存数据的时候首先都转为字符串的形式,再转为字节存储。这样解码就非常简单,可以直接使用decode()进行解码。HBase里的数据也是有可读性。

value = value.decode('utf-8')

但是很多时候是通过Java向HBase里插入数据,这时就会发生各种格式的数据直接转为字节存入。查看数据的时候,这些数据也是基本是乱码的格式,当读取数据的时候需要根据相应的格式进行解码。

value = struct.unpack(">d", value)[0]

各种数据类型的解码格式如下图所示。

猜你喜欢

转载自blog.csdn.net/wh672843916/article/details/105331724