HBASE 比较器和过滤器
比较器:
BinaryComparator 按字节索引顺序比较指定字节数组,采用Bytes.compareTo(byte[])
BinaryPrefixComparator 跟前面相同,只是比较左端的数据是否相同
NullComparator 判断给定的是否为空
BitComparator 按位比较 a BitwiseOp class 做异或,与,并操作
RegexStringComparator 提供一个正则的比较器,仅支持 EQUAL 和非EQUAL
SubstringComparator 判断提供的子串是否出现在table的value中。
比较运算符CompareOp
比较运算符用于定义比较关系,可以有以下几类值供选择:
EQUAL 相等
GREATER 大于
GREATER_OR_EQUAL 大于等于
LESS 小于
LESS_OR_EQUAL 小于等于
NOT_EQUAL 不等于
过滤器:
行键过滤器 RowFilter
列族过滤器FamilyFilter
列过滤器QualifierFilter
值过滤器ValueFilter
1,ColumnPaginationFilter
列分页过滤器:基于列进行分页,需要设置偏移量与返回数量。
2,ColumnCountGetFilter
列计数过滤器:返回限定数量的列,可以指定需要返回的数量限制。
3,FirstKeyOnlyFilter
首列过滤器:只返回每一行的第一列。
4,FirstKeyValueMatchingQualifiersFilter
首次匹配列过滤器:通过设置一组需要匹配的列,只要匹配到任意一个列就会停止这一行的扫描操作进行下一行的扫描。
5,ColumnPrefixFilter
列前缀过滤器:通常所说的前缀匹配。
6,MultipleColumnPrefixFilter
列多前缀匹配过滤器:在列前缀匹配的基础上增加匹配列。
7,ColumnRangFilter
列范围匹配过滤器:设定列的范围进行匹配
自定义过滤器
做法 : 继承 FilterBase,然后打成 jar 放到 $HBASE_HOEM/lib 目录下去(注意:需要重启 HBase 集群)
写自定义过滤器的时候需要熟悉过滤器的执行流程,不解释 、、、