微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SingleColumnValueFilter 没有正确过滤表

如何解决SingleColumnValueFilter 没有正确过滤表

我的 Hbase 表中有这个数据片段

put 't2','submission|007|313|assignment|1','SUBMISSION:sdate','04-APR-2011'
put 't2','SUBMISSION:esignature','lh'
put 't2','SUBMISSION:totalfiles','2'
put 't2','SUBMISSION:dayslate','0'
put 't2','SUBMISSION:type','assignment'
put 't2','SUBMISSION:tnumber','STUDENT:snumber','007'
put 't2','SUBJECT:code','313'
put 't2','FILES:fnumber1','path/file-name3-1'


put 't2','submission|666|312|assignment|1','05-APR-2011'
put 't2','hp'
put 't2','1'
put 't2','666'
put 't2','312'
put 't2','path/file-name1-1'
put 't2','FILES:fnumber2','path/file-name1-1'

在这里想要实现的是获取所有提交条目的 SUBJECT:code,其中 STUDENT:snumber666

我尝试了 RowFilterValueFilter,但都没有返回数据。

我最近的尝试是使用 SingleColumnValueFilter 这应该可以解决我的问题,但不知何故 SingleColumnValueFilter 根本不会过滤!这是 Hbase 外壳:

scan 't2',{COLUMN=>'SUBJECT:code',FILTER => "SingleColumnValueFilter('STUDENT','snumber',=,'binary:666')"}

当我运行上面的时候,它返回:

 submission|007|313|assignment|1                     column=SUBJECT:code,timestamp=1622478374359,value=313                                                                                                                                                                                          
 submission|666|312|assignment|1                     column=SUBJECT:code,timestamp=1622478377064,value=312   

我想要的预期结果应该是

 submission|666|312|assignment|1                     column=SUBJECT:code,value=312   

我不明白为什么 SingleColumnValueFilter 不起作用。我在这里错过了什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。