hbase2.1.x shell scan SingleColumnValueFilter 过滤某列时,也必须查询该列,否则过滤条件不生效

描述问题

过滤条件中有 age,但只查询 name 列,此时查询过滤条件 不生效,因为没有查询 age

查询语句

查询 age > 90 的记录,如下:

scan 'student',{FILTER => "SingleColumnValueFilter('info','age',>,'binary:90')" ,COLUMNS =>['info:name','info:age'] }

结果:将所有数据都查询出来

原因: age 作为过滤条件,但是,没有查询 age 列,所以 过滤条件 没生效,将所有结果都查询出来

解决

查询列中,加上 age 列即可

scan 'student',{FILTER => "SingleColumnValueFilter('info','age',>,'binary:90')" ,COLUMNS =>['info:name','info:age'] }

原文出处:https://malaoshi.top/show_1IX2JiyxsCB7.html