Hbase通配符支持

时间:2013-05-17 10:33:01

标签: python hbase thrift

我想做点什么

select * from table where name like '%name%'

无论如何都在Hbase中这样做?如果有办法怎么做呢

PS。我使用HappyBase与Hbase进行通信

1 个答案:

答案 0 :(得分:1)

HBase提供了一个扫描仪界面,允许您枚举HTable中的一系列键。 HappyBase支持扫描,这在他们的API中已经很好地记录了。

因此,如果您要求使用“喜欢'名称%'”类型的查询来搜索以前缀“name”开头的任何内容,这将解决您的问题。我假设name是表中的行键,否则你需要一个二次索引,它将name字段与表的行键值相关联,或者采用扫描整个表并进行匹配的超级方法。 Python本身,取决于你的用例......

编辑:假设您使用的是最近的HBase版本,HappyBase还支持传递'过滤器'字符串。您可以使用SubStringComparator或RegexStringComparator来满足您的需求。