1、FilterList正則表達式
1:經過將operator參數設置爲Operator.MUST_PASS_ONE,達到list中各filter爲"或"的關係 or
dom
2:默認operator參數的值爲Operator.MUST_PASS_ALL,即list中各filter爲"並"的關係 and
code
FilterList f=
new
FilterList(FilterList.Operator.MUST_PASS_ONE);
ip
2、幾大Filterget
一、Comparision Filtersstring
1.1 RowFilter √it
1.2 FamilyFilter √io
1.3 QualifierFilter √List
1.4 ValueFilter √方法
1.5 DependentColumnFilter ×
二、Dedicated Filters
2.1 SingleColumnValueFilter ×
2.2 SingleColumnValueExcludeFilter ×
2.3 PrefixFilter ×
2.4 PageFilter ×
2.5 KeyOnlyFilter ×
2.6 FirstKeyOnlyFilter ×
2.7 TimestampsFilter ×
2.8 RandomRowFilter ×
三、Decorating Filters
3.1 SkipFilter ×
3.2 WhileMatchFilters ×
1.1 RowFilter
格式:RowFilter(CompareFilter.CompareOp rowCompareOp, ByteArrayComparable rowComparator)
參數一 Operator Description
LESS 小於
LESS_OR_EQUAL 小於等於
EQUAL 等於
NOT_EQUAL 不等於
GREATER_OR_EQUAL 大於等於
GREATER 大於
NO_OP 排除全部
參數二 ByteArrayComparable 可用
BinaryComparator, BinaryPrefixComparator, BitComparator, LongComparator, NullComparator, RegexStringComparator, SubstringComparator
例子:Filter filter=new RowFilter(CompareOp.EQUAL, new BinaryComparator(Bytes.toBytes(RowKey))
相關的過濾方法使用:
提取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()));
提取rowkey小於等於row010的行
Filter filter1 = new RowFilter(CompareFilter.CompareOp.LESS_OR_EQUAL,new BinaryComparator("row010".getBytes()));
1.2 FamilyFilter(同上)
1.3 QualifierFilter(同上)--------當列爲數字,無論用了?why--------
1.4 ValueFilter(同上)
1.5 DependentColumnFilter 未完待續!