参考地址:http://hbase.apache.org/book.html#_preface
一:Hbase的所有过滤器用法:
1.KeyOnlyFilter
filter_str = "KeyOnlyFilter()"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
返回所有行和列簇数据,值为空。
2.FirstKeyOnlyFilter
filter_str = "FirstKeyOnlyFilter()"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
返回所有行和列的数据。
3.PrefixFilter
filter_str = "PrefixFilter('row_key')"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
筛选出具有特定前缀的行键的数据,即通过row_key的前缀查找并返回特定行的数据。
4.ColumnPrefixFilter
filter_str = "ColumnPrefixFilter('column')"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
筛选出具有特定前缀的列簇的数据,即通过列簇的前缀查找并返回特定行的数据。
5.MultipleColumnPrefixFilter
filter_str = "MultipleColumnPrefixFilter('column1','column2')"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
筛选出具有特定前缀的列簇的数据,前缀可以是一个列表,即通过列簇的前缀查找并返回特定行的数据。
6.ColumnCountGetFilter
filter_str = "ColumnCountGetFilter(a)"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
从第一行开始读取数据,一直读取到某一行的列数大于设定的阈值a时停止,并返回当前读取到的数据。
7.PageFilter
filter_str = "PageFilter(10)"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
返回特定行数的数据。
8.ColumnPaginationFilter
filter_str = "ColumnPaginationFilter(a,b)"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
对于所有的行,从第b列开始,读取a列,并返回。
9.InclusiveStopFilter
filter_str = "InclusiveStopFilter('row_key')"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
从头开始读取数据,一直读取到设置的row_key这一行,然后返回读取到的所有数据。
10.TimeStampsFilter
11.RowFilter
filter_str = "RowFilter(=,'regexstring:aa*bb')"
connection = happybase.Connection(hbase_address, autoconnect=False)
table = connection.table(table_name)
table.scan(filter=filter_str)
按照行的条件查找数据,参数包含比较运算符(等于=,不等于!=,大于>,小于<,大于等于>=,小于等于<=)和比较器(binary匹配全部,binaryprefix开头匹配,regexstring开头和尾部匹配、开头和尾部中间用*隔开,substring包含)。详情经参照第二部分的103.4和103.5.
12.Family Filter
13.QualifierFilter
14.ValueFilter
15.DependentColumnFilter
16.SingleColumnValueFilter
17.SingleColumnValueExcludeFilter
18.ColumnRangeFilter
二:参考地址部分截图
香烟过后,手留余香,而你呢...