HBase过滤器使用方法(一)

  

,//,通过将运营商参数设置为Operator.MUST_PASS_ONE,达到列表中各过滤器为“或”的关系,,或   ,//默认运营商参数的值为Operator.MUST_PASS_ALL,即列表中各过滤器为“并”的关系,,,,,,,   ,,,FilterList  f=new  FilterList (FilterList.Operator.MUST_PASS_ONE);


1,比较过滤器

,,1.1 RowFilter大敌;,√

1.2 FamilyFilter√

,,1.3 QualifierFilter大敌;,√

,,,1.4 ValueFilter√

,,,1.5 DependentColumnFilter×

2,专用过滤器

,,,2.1 SingleColumnValueFilter×

,,,2.2 SingleColumnValueExcludeFilter×

,,,2.3 PrefixFilter×

,,,2.4 PageFilter×

,,,2.5 KeyOnlyFilter×

,,,2.6 FirstKeyOnlyFilter×

,,,2.7 TimestampsFilter×

,,,2.8 RandomRowFilter×

3,装饰过滤器

,,,3.1 SkipFilter×

,,,3.2 WhileMatchFilters×



<人力资源/>



<强> 1.1,RowFilter ,

格式:RowFilter (CompareFilter。CompareOp rowCompareOp, ByteArrayComparable rowComparator)


描述


小少于

LESS_OR_EQUAL小于等于

=等于

NOT_EQUAL不等于

GREATER_OR_EQUAL大于等于

更大于

NO_OP排除所有


BinaryComparator, BinaryPrefixComparator, BitComparator, LongComparator, NullComparator, RegexStringComparator, SubstringComparator


例子:过滤器过滤=new RowFilter (CompareOp。相同的情况下,新的BinaryComparator (Bytes.toBytes (RowKey))


相关的过滤方法使用:

提取RowKey以01结尾数据——正则表达式

=new RowFilter (CompareFilter.CompareOp过滤器过滤器。相同的情况下,新RegexStringComparator (”。* 01 $ "));


提取rowkey以包含201407的数据

=new RowFilter (CompareFilter.CompareOp过滤器过滤器。相同的情况下,新SubstringComparator (" 201407 "));



提取rowkey以123开头的数据

=new RowFilter (CompareFilter.CompareOp过滤器过滤器。相同的情况下,新的BinaryPrefixComparator (“123”.getBytes ()));


提取rowkey小于等于row010的行

过滤器filter1=new RowFilter (CompareFilter.CompareOp。LESS_OR_EQUAL,新的BinaryComparator (row010 .getBytes ()));

, <强> 1.2,FamilyFilter(同上)

<强> 1.3,QualifierFilter(同上) - - - - - - - - - -当列为数字,不管用了?为什么- - - - - - - - - -

<强> 1.4,ValueFilter(同上)

<强> 1.5,DependentColumnFilter ,,未完待续!


HBase过滤器使用方法(一)