大家都知道,hbase中的整数存储的是字节值,这是为了节省空间,因为字符串要求空间更大。
虽然是节省空间了,但是读取和查看就不方便了。
hbase 的java客户端有比较比较好函数可以进行转换,而python则没有
笔者经过一些研究,可以采用以下办法
data = "\x00\x00\x00\x00\x00\x00\xC2\x84"
data = data.decode('unicode-escape').encode('ISO-8859-1')
data = struct.unpack(">q", data)
print data
参考:
- http://grokbase.com/t/hbase/dev/11c7wnq77x/convert-hbase-byte-array-to-long-in-python
- https://www.cnblogs.com/gala/archive/2011/09/22/2184801.html
- https://stackoverflow.com/questions/33257875/python-string-to-bytes-conversion-double-backslash-issue