使用singlecolumnvalue筛选器的hbase外壳命令

使用singlecolumnvalue筛选器的hbase外壳命令,hbase,hbase-shell,Hbase,Hbase Shell,我是Hbase world的新手,正在尝试下面的查询。 我从shell触发了下面的hbase命令。我希望只检索与筛选条件匹配的行:与列名称“serviceId”和值“61490992624”匹配的行 但是,它也检索其他行(rod ID:100545、100546100547、澳大利亚、新南威尔士州、NT)。 我希望只检索行id TX005 这种行为有什么原因吗 hbase(main):024:0> scan 'api_cus_usage', {FILTER=>"SingleColum

我是Hbase world的新手,正在尝试下面的查询。 我从shell触发了下面的hbase命令。我希望只检索与筛选条件匹配的行:与列名称“serviceId”和值“61490992624”匹配的行

但是,它也检索其他行(rod ID:100545、100546100547、澳大利亚、新南威尔士州、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


我找到了这种行为的原因。filterIfMissing标志必须设置为true。下面的命令给出了适当的结果。最后一个布尔参数“true”仅适用于最新版本。没有那面旗帜,命令就不起作用

感谢此链接:

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