hbase2.1.x shell scan SingleColumnValueFilter 过滤条件的列的值不存在时,默认满足所有过滤条件

问题描述

作为过滤条件的列,如果 该列的值不存在,默认情况,可以查询到 该行记录

添加测试数据

put 'student','1010','info:name','scott'

过滤

scan 'student',{FILTER => "SingleColumnValueFilter('info','age',>,'binary:20')" }

由于 name = scott 这行记录,age 不存在,所以 默认情况 下,能够查询到该行

执行结果如下:

修改默认行为

Java代码中,调用 filter.setFilterIfMissing(true) ,此时,这样的行将会被过滤掉

Java代码中,调用 filter.setFilterIfMissing(false),默认的值是false,此时,这样的行会包含在结果集中


原文出处:/show_1IX2zD7Dex1t.html