HBase过滤器

业务应用上需要按字段的值过滤,值若是数字需要比较大小,若是字符串需要模糊匹配,或者是按枚举的清单过滤,至于查找的字段只需要列举出来就行了。
HBase 可以实现过滤row,family,Qualifier的名字,也可以过滤所有的value值
比较法有:字符串完全匹配,完全不匹配,按字母排序比大小,正则表达式等,
也可以实现按某个family,Qualifier指定的value过滤
实现按所有raw的前缀过滤,按family的Qualifier名字的前缀过滤,或实现family的Qualifier名字多种前缀过滤,
也可以实现只获取前几行
也可以用FilterList实现多个条件共同作用

几大Filters
1、Comparision Filters 比较过滤器
1.1 RowFilter (过滤row,例如RowFilter(CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("pbrry"))),返回按字母排序在pbrry之前的那些row的内容)
1.2 FamilyFilter (过滤的对象是family的名字,如FamilyFilter(CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("jbrry"))),返回按字母排序在jbrry之前的那些family对应的Qualifier,value)
1.3 QualifierFilter (过滤的对象是Qualifier的名字,如QualifierFilter(CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("jbrry"))),返回按字母排序在jbrry之前的那些Qualifier对应的value)
1.4 ValueFilter (过滤的对象是所有的value,与SingleColumnValueFilter不同的是SingleColumnValueFilter过滤指定的列)
1.5 DependentColumnFilter (该过滤器有两个参数:family和Qualifier,尝试找到该列所在的每一行,并返回该行具有相同时间戳的全部键值对。如果某一行不包含指定的列,则该行的任何键值对都不返回,该过滤器还可以有一个可选的布尔参数-如果为true,从属的列不返回;该过滤器还可以有两个可选的参数--一个比较操作符和一个值比较器,用于family和Qualifier
的进一步检查,如果从属的列找到,其值还必须通过值检查,然后就是时间戳必须考虑)
2、Dedicated Filters 专用过滤器
2.1 SingleColumnValueFilter (过滤某family的Qualifier的value,value >,<,>=,<=,=,<>某给定的值,通常用在value是数字的情况下,=&#x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值