HBase笔记-3.过滤器

比较运算符

LESS 匹配小于设定值的值
LESS_OR_EQUAL 匹配小于或等于设定值的值
EQUAL 匹配等于设定值的值
NOT_EQUAL 匹配大于设定值不相同的值
GREATER_OR_EQUAL 匹配大于或等于设定值的值
GREATER 匹配大于设定值的值
NOT_OP 排除一切值

比较器

BinaryComparator 使用Bytes.compareTo()比较当前值与阈值
BinaryPrefixComparator 与上面的相似,使用Bytes.compareTo()进行匹配,但是是从左端开始前缀匹配
NullComparator 不做匹配,只判断当前值是不是null
BitComparator 通过BitwiseOp类提供的按位与(AND),或(OR),异或(XOR)操作执行位级比较
RegexStringComparator 根据一个正则表达式,在实例化这个比较器的时候去匹配表中数据
SubstringComparator 把阈值和表中数据当做String实例,同时通过contains()操作匹配字符串

比较过滤器

RowFilter(行过滤器)行过滤器是基于行键来过滤数据
FamilyFilter(列族过滤器)列族过滤器是基于列族来进行过滤数据
QualifierFilter(列名过滤器)列名过滤器用户筛选特定的列
ValueFilter(值过滤器)值过滤器用户筛选某个特定值的单元格。与RegexStringComparator配合使用,可以使用功能强大的表达式来进行筛选。
DependentColumnFilter(参考列过滤器)参考列过滤器不仅仅简单的通过用户指定的信息筛选数据,还允许用户指定一个参考列或是引用列。并使用参考列控制其他列的过滤。
SingleColumnValueFilter(专用过滤器)用一列的值决定是否一行数据是否被过滤
SingleColumnValueExcludeFilter(单列排除过滤器)该过滤器继承SingleColumnValueFilter,作为筛选条件的列的不会包含在返回的结果中。
PrefixFilter(前缀过滤器)筛选出具有特点前缀的行键的数据。扫描操作以字典序查找,当遇到比前缀大的行时,扫描结束。PrefixFilter对get()方法作用不大。前缀过滤器只针对行键。
PageFilter(分页过滤器)可以使用这个过滤器对结果按行分页。当用户创建PageFilter的实例的时候,指定了pageSize,这个参数可以控制每页返回的行数。
KeyOnlyFilter(行键过滤器)只返回每行的行键,不返回值。对于之关注于行键的应用常见来说非常合适,不返回值,可以减少传递到客户端的数据量,能起到一定的优化作用。
FirstKeyOnlyFilter(首次行键过滤器)只想返回的结果集中只包含第一列的数据
InclusiveStopFilter(包含结束的过滤器)开始行被包含在结果中,单终止行被排除在外,使用这个过滤器,也可以将结束行包含在结果中。
TimestampFilter(时间戳过滤器)使用时间戳过滤器可以对扫描结果中对版本进行细粒度的控制。
ColumnCountGetFilter(列计数过滤器)确定每行最多返回多少列,并在遇到一定的列数超过我们锁设置的限制值的时候,结束扫描操作
ColumnPaginationFilter(列分页过滤器)与PageFilter类似,列分页过滤器可以对一行的所有列进行分页。
ColumnPrefixFilter(列前缀过滤器)类似PrefixFilter,列前缀过滤器通过对列名进行前缀匹配过滤
RandomRowFilter(随机行过滤器)随机行过滤器可以让结果中包含随机行。
SkipFilter(跳转过滤器)与ValueFilter结合使用,如果发现一行中的某一列不符合条件,那么整行都会被过滤掉。
WhileMatchFilter(全匹配过滤器)如果你想想要在遇到某种条件数据之前的数据时,就可以使用这个过滤器,当遇到不符合设定条件的数据的时候,整个扫描也结束了。

猜你喜欢

转载自blog.csdn.net/wang11yangyang/article/details/73648601