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 (将#修改为@)