类似传统数据库,根据时间范围的查找。
比如是2012-12-12到2013-01-23日之间的数据,在hbase中如何实现。
我在hbase有一个列为date,存日期。
可以用hbase的filter实现,如下面的代码:
[code="java"]
FilterList filter = new FilterList();
if (timeFrom != null) {
String sDate = String.valueOf(timeFrom.getTime());
SingleColumnValueFilter scvf = new SingleColumnValueFilter(Bytes.toBytes("CF"), Bytes.toBytes("Date"), CompareOp.GREATER_OR_EQUAL,
Bytes.toBytes(String.valueOf(sDate)));
filter.addFilter(scvf);
}
if (timeTo != null) {
String sDate = String.valueOf(timeTo.getTime());
SingleColumnValueFilter scvf = new SingleColumnValueFilter(Bytes.toBytes("CF"), Bytes.toBytes("Date"), CompareOp.LESS_OR_EQUAL,
Bytes.toBytes(String.valueOf(sDate)));
filter.addFilter(scvf);
}
[/code]