HBase:有效地列出与给定前缀匹配的给定行的列

时间:2012-08-16 18:30:56

标签: hbase

我正在尝试使用HBase Java客户端尽可能高效地回答以下问题:

  

对于给定的行和给定的列族,哪些限定符具有特定的前缀?

我可能会使用QualifierFilterBinaryPrefixComparator。这会有用吗?我的直觉是,应该可以在不发送那些列的相应单元格内容的情况下执行此操作,对吧?像KeyOnlyFilter这样的东西会在这里工作吗?

1 个答案:

答案 0 :(得分:0)

这就是我的工作。 KeyOnlyFilter效果非常好,ColumnPrefixFilter也是如此,据我所知,这相当于QualifierFilterBinaryPrefixComparator

Scan scan = new Scan(MY_ROW, getSuccessor(MY_ROW))
                .addFamily(MY_COLFAM)
                .setMaxVersions(1)
                .setFilter(
                    new FilterList(
                        Operator.MUST_PASS_ALL, Arrays.<Filter>asList(
                            new KeyOnlyFilter(),
                            new ColumnPrefixFilter(MY_PREFIX)
                        )));

其中getSuccessor()是一个只在末尾添加空字节的函数。