我尝试从hbase表中筛选行(我使用的是happybase),具体地说,我尝试获取'id'小于1000的行:
for key, data in graph_table.scan(filter="SingleColumnValueFilter('cf', 'id', <, 'binary:1000')"):
print key, data
结果如下:
<http://ieee.rkbexplorer.com/id/publication-d2a6837e67d808b41ffe6092db50f7cc> {'cf:type': 'v', 'cf:id': '100', 'cf:label': '<http://www.aktors.org/ontology/portal#Proceedings-Paper-Reference>'}
<http://www.aktors.org/ontology/date#1976> {'cf:type': 'v', 'cf:id': '1', 'cf:label': '<http://www.aktors.org/ontology/support#Calendar-Date>'}
<http://www.aktors.org/ontology/date#1985> {'cf:type': 'v', 'cf:id': '10', 'cf:label': '<http://www.aktors.org/ontology/support#Calendar-Date>'}
表中有“id”为1到1000的行。如果我使用hbase java库在java中编写代码,它可以正常工作,使用byte.tobytes()函数解析整数值。
谢谢您。
1条答案
按热度按时间2jcobegt1#
问题是我将整数保存为字符串,而正确的方法是将它们保存为字节:
查询数据库时,过滤器中的值也必须打包:
最后,打开结果:
非常感谢你。