hbase中特定列的前缀搜索在java中不起作用



hbase中有一列,比如Countrys,我想在这列上加前缀(这不是行键(,然后我将使用ColumnPrefixFilter并执行类似的操作

ColumnPrefixFilter columnPrefixFilter = new ColumnPrefixFilter("IND".getBytes());

但我有两个问题:-

  1. 我没有任何选项来指定列族和名称空间名称,因此它应该只在countries列中搜索
  2. 其次,这个过滤器不起作用,没有给出任何响应,而存在具有INDIA值的条目。这些是我用于hbase的依赖项。

    <hbase-client.version>2.0.1</hbase-client.version>
    <hbase-ds.version>0.0.2-SNAPSHOT</hbase-ds.version>
    

我不知道为什么它不能与ColumnPrefixFilter一起工作,尽管我有一个替代方案可以做这样的事情。

SingleColumnValueFilter filter = new SingleColumnValueFilter(COLUMN_FAMILY_NAME, QUALIFIER_NAME, CompareOperator.EQUAL,
new BinaryPrefixComparator("IND".getBytes()));

它就像一个符咒。不过,如果有人能解释为什么它不适用于ColumnPrefixFilter,我会等待。

相关内容

  • 没有找到相关文章

最新更新