使用单列值筛选器的 hbase shell 命令



我是Hbase世界的新手,正在尝试以下查询。 我触发了下面的 hbase 命令表单外壳。我希望只检索与过滤条件匹配的行:与列名"serviceId"与值"61490992624"匹配的行。

但是,它也检索其他行(杆 ID:100545、100546、100547,澳大利亚、新南威尔士州、NT(。 我希望只检索行 ID TX005。

这种行为有什么原因吗?

hbase(main):024:0> scan 'api_cus_usage', {FILTER=>"SingleColumnValueFilter('usage','serviceId',=,'binary:61490992624')"}
ROW           COLUMN+CELL
100545        column=usage:colC, timestamp=1569912663258, value=100545
100546        column=usage:colC, timestamp=1569912663269, value=100546
100547        column=usage:colC, timestamp=1569912663279, value=100547
Australia     column=usage:colB, timestamp=1569912663276, value=Australia
NSW           column=usage:colA, timestamp=1569912663262, value=NSW
NT            column=usage:colA, timestamp=1569912663272, value=NT
TX005         column=usage:balanceInstanceId, timestamp=1567147803234, value=3
TX005         column=usage:eventDateAndTime, timestamp=1567147802721, value=20190815T000000+1000
TX005         column=usage:serviceId, timestamp=1567147802752, value=61490992624

我找出了这种行为的原因。筛选器如果缺少标志必须设置为 true。以下命令给出了适当的结果。最后一个布尔参数 'true' 用于 latestVersionOnly。没有该标志,命令就不起作用。

感谢此链接: HBase:在不存在字段的地方返回的记录

scan 'api_cmp_usage', {FILTER=>"SingleColumnValueFilter('usage','serviceId',=,'binary:61490992624',true,true)"}

最新更新