如何使用hbase行键过滤器RowFilter
RowFilter是用来对rowkey进行过滤的,比较符如下:
| Operator | Description |
| LESS | 小于 |
| LESS_OR_EQUAL | 小于等于 |
| EQUAL | 等于 |
| NOT_EQUAL | 不等于 |
| GREATER_OR_EQUAL | 大于等于 |
| GREATER | 大于 |
| NO_OP | 排除所有 |
| Comparator | Description |
| BinaryComparator | 使用Bytes.compareTo()比较 |
| BinaryPrefixComparator | 和BinaryComparator差不多,从前面开始比较 |
| NullComparator | Does not compare against an actual value but whether a given one is null, or not null. |
| BitComparator | Performs a bitwise comparison, providing a BitwiseOp class with AND, OR, and XOR operators. |
| RegexStringComparator | 正则表达式 |
| SubstringComparator | 把数据当成字符串,用contains()来判断 |
提取rowkey以01结尾数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new RegexStringComparator(“.*01$”));
提取rowkey以包含201407的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new SubstringComparator(“201407”));
提取rowkey以123开头的数据
Filter filter = new RowFilter(CompareFilter.CompareOp.EQUAL,new BinaryPrefixComparator(“123”.getBytes()));
