SingleColumnValueFilter 和 SingleColumnValueExcludeFilter的区别

1. 在使用二者时的注意事项

在使用SingleColumnValueFilter 和SingleColumnValueExcludeFilter 时只有当COLUMNS中包含SingleColumnValueFilter提到的字段时, 该SingleColumnValueFilter才有效的

即 在创建一个SingleColumnValueFilter或者SingleColumnValueExcludeFilter之后

// 创建列值过滤器
new SingleColumnValueExcludeFilter(Bytes.toBytes(cf), Bytes.toBytes(column), CompareOperator.EQUAL, Bytes.toBytes("asdfa113"));

需要将该列column添加到scan中

// 将列column添加到scan对象中
scan.addColumn(cf.getBytes(), column.getBytes());

这样创建的上述SingleColumnValueFilter或者SingleColumnValueExcludeFilter才会在scan中生效。

 

2. 二者区别

 

作者后来写了一个新的SingleColumnValueExcludeFilter类,用于做单列的值过滤, 但是不查询出这个列的值,即查询结果中不会返回该列对应的值,但是可以正常统计,例如rowCount操作等。

 

3. SingleColumnValueExcludeFilter使用注意事项

在使用SingleColumnValueExcludeFilter时,如果结果需要查询这个字段的值,或者需要sum该列的值,则这时就不能在使用SingleColumnValueExcludeFilter,因为这一列会被过滤掉,并不会返回给查询结果。

参考这篇文章

 

4. 参考文献

https://blog.csdn.net/zhangjianying/article/details/8628249

https://issues.apache.org/jira/browse/HBASE-2198

https://issues.apache.org/jira/browse/HBASE-2211

http://www.bubuko.com/infodetail-542553.html

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值