HBase的过滤器

  • 比较过滤器

因为继承自CompareFilter的过滤器比基类FilterBase多了一个compare()方法,它需要使用传入参数定义比较操作的过程。可用值己经列下表中。

  • 比较器

CompareFilter所需要的第二类类型是比较器( comparator ),比较器提供了多种方法来比较不同的键值。比较器都继承自WritableByteArrayComparable, WritableByteArrayComparable实现了Writable和Comparable接口。如果您仅仅想使用HBase原生提供的比较器实现则可以不必过度关注细节,HBase提供的比较器罗列于下表,这些比较器构造时通常只需要提供一个闭值,这个值将会与表中的实际值进行比较。

后面的3 种比较器,即BitComparator 、RegexStringComparator 和SubstringComparator ,只能与EQUAL 和NOT_EQUAL 运算符搭配使用,因为这些比较器的compareTo ()方法匹配时返回0 ,不匹配时返回1。如果和LESS 或GREATER 运算符搭配使用,会产生错误结果。

基于字符串的比较器,如RegexStringComparator 和SubstringComparator ,比基于字节的比较器更慢,史消耗资源。因为每次比较时它们都需要将给定的值转化为String. 截取字符串子串和正则式的处理也需要花费额外的时间。

1.行过滤器:

2.列族过滤器:

3.列名过滤器:

4.值过滤器:

5.分页过滤器:

返回每一个region的前N行数据

猜你喜欢

转载自blog.csdn.net/Lwj879525930/article/details/81627440