我有一个hbase表,有一列(expense),其中date是行键。
如何获取过去5天的所有记录?假设今天的日期是2014年4月13日?使用哪个过滤器?
我有如下数据
rowkey Expense
2014-04-13 128
2014-04-12 57
2014-04-11 10
2014-04-10 100
2014-04-09 797
2014-04-08 67
2014-04-07 56
2014-04-06 14
3条答案
按热度按时间zour9fqk1#
mashuai的答案很好,但为了提供一个替代方案,您还可以进行反向扫描:
mfuanj7w2#
你不需要过滤器。假设今天是2014-04-13,您可以将起始行设置为2014-04-09,将停止行设置为2014-04-14。就像那样
yk9xbfzb3#
根据文档,setmaxresultsize可能不是您想要的:
公共扫描setmaxresultsize(长maxresultsize)
设置最大结果大小。默认值为-1;这意味着不会为此扫描设置特定的最大结果大小,而是使用全局配置值(默认为无限制)。
参数:maxresultsize-以字节为单位的最大结果大小。
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/scan.html#setmaxresultsize-长-
您可以使用固定的开始键和停止键,也可以使用pagefilter和setcaching的组合。