2015-04-03 85 views
0

我想創建一個篩選器,只返回包含給定字段(或多個字段)的行。 我的代碼:使用HBase API(Java)掃描篩選器

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

謝謝。

回答

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