使用HBase API(Java)进行过滤扫描

时间:2015-04-03 12:39:43

标签: java hadoop hbase

我想创建一个过滤器,只返回包含给定字段(或许多字段)的行。 我的代码:

FilterList flMaster = new FilterList(FilterList.Operator.MUST_PASS_ALL);
Filter filter = new SingleColumnValueFilter(Bytes.toBytes(CF1), Bytes.toBytes("RONAME"), CompareFilter.CompareOp.EQUAL, Bytes.toBytes("roname1"));

scan.setFilter(flMaster);
scan.addFamily(Bytes.toBytes(CF1));
scan.addFamily(Bytes.toBytes(CF2));

ResultScanner resultScanner = table.getScanner(scan);

我创建了2条记录roname1和roname2。

问题是过滤器不起作用:我得到所有行(roname1和roname2)。

有关信息:hbase版本:1.0.0

谢谢。

1 个答案:

答案 0 :(得分:0)

Filter filter = new ValueFilter(
        CompareFilter.CompareOp.EQUAL,
        new BinaryComparator(Bytes.toBytes("roman1")));
scan.setFilter(filter);