使用HBase+过滤整数;python

使用HBase+过滤整数;python,python,hbase,thrift,happybase,Python,Hbase,Thrift,Happybase,我尝试从HBase表中筛选行(我使用的是HappyBase),具体来说,我尝试获取“id”小于1000的行: for key, data in graph_table.scan(filter="SingleColumnValueFilter('cf', 'id', <, 'binary:1000')"): print key, data 对于key,graph_table.scan中的数据(filter=“SingleColumnValueFilter('cf','id',),问

我尝试从HBase表中筛选行(我使用的是HappyBase),具体来说,我尝试获取“id”小于1000的行:

for key, data in graph_table.scan(filter="SingleColumnValueFilter('cf', 'id', <, 'binary:1000')"):
    print key, data

对于key,graph_table.scan中的数据(filter=“SingleColumnValueFilter('cf','id',),问题是我将整数保存为字符串,而正确的方法是将它们保存为字节:

table.put(key, {'cf:id': struct.pack(">q", value)})
查询数据库时,过滤器中的值也必须打包:

for key, data in graph_table.scan(filter="SingleColumnValueFilter('cf', 'id', <, 'binary:%s', true, false)" % struct.pack(">q", 1000)):
     print key, data

非常感谢。

问题是我将整数保存为字符串,而正确的方法是将它们保存为字节:

table.put(key, {'cf:id': struct.pack(">q", value)})
查询数据库时,过滤器中的值也必须打包:

for key, data in graph_table.scan(filter="SingleColumnValueFilter('cf', 'id', <, 'binary:%s', true, false)" % struct.pack(">q", 1000)):
     print key, data

非常感谢。

你能澄清一下吗:使用此搜索只能得到id=1 | 10 | 100的结果,而表中的值是1-1000?是的,我的值是1到7000多个,在上一篇文章中,我想指出缺少996个结果。问答网站也是如此,因此,如果你能同时带上问题和答案,这将非常有帮助NSWER进入适当的格式。你可以发布一个你自己的问题的答案,这是完全好的。如果这是不可能的,考虑完全去除这个问题。是的,我在等待8个小时的限制来正确回答我自己的问题。谢谢。你能澄清一下:你只能通过这个搜索得到id=1 | 10 | 100的结果,而你的表中有1-1000的值吗?是的,我有1到7000多个值,在上一篇文章中我想指出996个结果丢失了。问答网站也是如此,因此如果你能将问题和答案都纳入适当的范围,它会非常有帮助格式。你可以发布你自己的问题的答案,这是完全好的。如果这是不可能的,考虑完全去掉这个问题。是的,我在等待8个小时的限制来正确回答我自己的问题。谢谢。