happybase table.put是否接受无字符串值?

时间:2015-04-05 03:59:42

标签: hbase happybase

我一直在使用java和python测试table.put。

在java中,您可以将int或float值写入列中。使用happybase

table.put(line_item_key, {'allinone:quantity': quantity})
它爆炸了 TypeError:'int'类型的对象没有len()

这可能是真的,happybase不支持写出除字符串以外的任何内容吗?

2 个答案:

答案 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中插入二进制表示。