abc
过滤器介绍
HBase过滤器是一套为完成一些较高级的需求所提供的API接口。
过滤器也被称为下推判断器(push-down predicates),支持把数据过滤标准从客户端下推到服务器,带有 Filter 条件的 RPC 查询请求会把 Filter 分发到各个 RegionServer,所有的过滤器都在服务端生效,使被过滤掉的数据不会被传送到客户端,这些过滤逻辑在读操作时使用,可以有效降低网络传输的压力。
过滤器组成
过滤器主要有过滤器本身、比较器和比较运算符组成。
1. 操作符
抽象操作符,也叫比较运算符。
-
LESS:小于
-
LESS_OR_EQUAL:小于等于
-
EQUAL:等于
-
NOT_EQUAL:不等于
-
GREATER:大于
-
GREATER_OR_EQUAL:大于等于
-
NO_OP:排除一切值
2. 比较器
-
BinaryComparator:二进制比较器,用于按字典顺序比较指定字节数组。
-
BinaryPrefixComparator:二进制比较器,只比较前缀是否与指定字节数组相同。
-
NullComparator:控制比较式,判断当前值是不是为null。
-
BitComparator:位比价器,通过BitwiseOp提供的AND(与)、OR(或)、NOT(非)进行比较。
-
RegexStringComparator:提供一个正则的比较器,支持正则表达式的值比较,仅支持 EQUAL 和非 EQUAL。
-
SubstringComparator:判断提供的子串是否出现在value中,并且不区分大小写。
过滤器家族
HBase 内置了多种过滤器,这些过滤器或直接或间接都继承于FilterBase抽象类,今天我们先简单看一下其‘家谱’,随后再详细一一介绍。