HY,
这个问题与SingleColumnValueFilter not returning proper number of rows非常相似。
我使用四个SingleColumnValueFilter的w /运算符EQUAL,并将它们添加到带有运算符MUST_PASS_ONE的FilterList中。结果数与设置FilterList的w / o相同。要比较的值是byte [],它应该是正确的,因为我只存储以前结果中的值。 (它是我转换为InetAddress的IP地址,新的InetAddress(值为byte []),在检索数据时,对于描述的查询,我只调用InetAddress.getAddress,它返回一个byte [])
你有什么想法可能是什么问题吗?我使用过滤器错了吗?
编辑:
我还使用查询检索的原始值作为SingleColumnValueFilter的值,结果没有差异,因此byte []内容不是问题。
答案 0 :(得分:0)
我想我可以自己给出答案,对不起以前没有调试和检查所有的hbase代码。
我刚刚检查了比较算法的实现(按字典顺序排列),因此我意识到长度没有被考虑在内,尽管我认为它会被填满w / zero;不幸的是,事实并非如此。
唯一合理的选择是创建自定义比较器(例如,参见How do you use a custom comparator with SingleColumnValueFilter on HBase?)