2014-05-14 100 views
1

我有一个Hbase“用户”表。现在我有用户表的行键,但我只想获得那些dateOfBirth更加粗糙的用户,然后是“有效日期”并属于关键列表。无法过滤hbase记录

目前我使用

Result[] result = table.get(keys); 

用于获取它的键我有所有用户。

我是新的Hbase。请帮忙。

感谢

回答

1

你可以尝试这样的事情:

import org.apache.hadoop.hbase.filter.Filter; 
import org.apache.hadoop.hbase.util.Bytes; 
import org.apache.hadoop.hbase.filter.FilterList; 
import org.apache.hadoop.hbase.filter.CompareFilter; 
import org.apache.hadoop.hbase.client.ResultScanner; 
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; 

FilterList fl = new FilterList(); 
Filter filter = new SingleColumnValueFilter(Bytes.toBytes("columnFamily"), Bytes.toBytes("column"), CompareFilter.CompareOp.GREATER, Bytes.toBytes(dateOfBirth)); 
fl.add(filter); 
scan.setFilter(fl); 

ResultScanner rs = table.getScanner(scan); 

您可以获取有关过滤器的详细信息http://hbase.apache.org/book/client.filter.html