我一直在使用java和python测试table.put。
在java中,您可以将int或float值写入列中。使用happybase
table.put(line_item_key, {'allinone:quantity': quantity})
它爆炸了
TypeError:'int'类型的对象没有len()
这可能是真的,happybase不支持写出除字符串以外的任何内容吗?
答案 0 :(得分:4)
在Hbase中,一切都是字节数组。没有任何花哨的数据类型,如int,string,float,double等。因此,无论何时要在hbase表中插入,首先需要转换为字节数组。然后你可以插入。
答案 1 :(得分:0)
您还可以使用带有python struct模块的happybase将字节数组插入到hbase中。
import struct
quantity = struct.pack(">i", 1)
table.put(rowkey, {'allinone:quantity': quantity})
这将在HBase中插入二进制表示。