本次使用的表结构为:
数据为:
键值元数据过滤器
1、FamilyFilter:用于过滤列簇,输出在指定簇下的值。
BinaryComparator comp = new BinaryComparator("info".getBytes());//判断列簇是不是info
FamilyFilter filter = new FamilyFilter(CompareOp.EQUAL, comp);//FamilyFilter :用于过滤列族。
2、QualifierFilter :用于列名 Qualifier )过滤。输出列名为name的数据。
BinaryComparator comp = new BinaryComparator("name".getBytes());//判断列名是否name
QualifierFilter filter=new QualifierFilter(CompareOp.EQUAL, comp);//QualifierFilter :用于列名 Qualifier过滤。
3、ColumnPrefixFilter :用于列名 Qualifier )前缀过滤,即包含某个前缀的所有列名。输出列名以ha开头的数据。
ColumnPrefixFilter filter =new ColumnPrefixFilter("ha".getBytes());//ColumnPrefixFilter :用于列名 Qualifier 前缀过滤,即包含某个前缀的所有列名。
行键过滤器
1、RowFilter :行键过滤器,一般来讲,执行 Scan 使用 startRow stopRow 方式比较好,而RowFilter 过滤器也可以完成对某一行的过滤。输出rowkey大于1009的行。
RowFilter filter = new RowFilter(CompareOp.GREATER, new BinaryComparator("1009".getBytes()));//rowkey大于1009的数据
2、RandomRowFilter :该过滤器是随机选择一行的过滤器。参数 chance 是一个浮点值,介于0.1 和 1.0 之间。随机输出一半的行数据。