在HappyBase中使用多个列过滤器

use*_*822 2 python hbase multiple-columns

我正在使用HappyBase作为Python Thrift客户端连接到HBase.

我正在扫描表格,需要在多列上使用过滤器.如何在HappyBase中实现这一目标?Java使用Filterlist为此提供了一个选项.

SIk*_*wan 10

正如github页面上指定的那样,Happybase正在使用Thrift.您应该使用与thrift相同的语法.

在扫描功能上,您可以指定过滤字符串:

SingleColumnValueFilter('',',,'')

例如,如果您需要使用列blah扫描所有行:blouh = batman:

hbase_table.scan(filter="SingleColumnValueFilter ('blah','blouh',=,'regexstring:^batman$')")
Run Code Online (Sandbox Code Playgroud)

您可以使用AND或OR来放置几个过滤器,只需记住用括号括起所有内容.

Thrift文档:http://hbase.apache.org/book/thrift.html

在字符串上创建过滤器时要小心,您必须使用特定的比较器(例如我的示例中的regexstring).