我不知道 python,所以我在 hbase shell 中解释这个..
或多或少你应该能够在 python 中做到这一点。
如何获取最新的时间戳以通过过滤器?
将数据记录到时间戳
将日期 '08/08/16 20:56:29' 从 hbase 日志转换为
时间戳,做:
hbase(main):021:0> import java.text.SimpleDateFormat
hbase(main):022:0> import java.text.ParsePosition
hbase(main):023:0> SimpleDateFormat.new("yy/MM/dd HH:mm:ss").parse("08/08/16 20:56:29", ParsePosition.new(0)).getTime()
=> 1218920189000
在上面你可以尝试这样的事情:
scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
hbase(main):001:0> scan
以下是此命令的一些帮助:
扫描一张桌子;传递表名和可选的扫描仪字典
规格。扫描仪规格可能包括以下一项或多项:
TIMERANGE、过滤器、限制、STARTROW、STOPROW、时间戳、MAXLENGTH、
或列,缓存
一些例子:
hbase> scan '.META.'
hbase> scan '.META.', {COLUMNS => 'info:regioninfo'}
hbase> scan 't1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}
hbase> scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
hbase> scan 't1', {FILTER => "(PrefixFilter ('row2') AND (QualifierFilter (>=, 'binary:xyz'))) AND (TimestampsFilter ( 123, 456))"}
hbase> scan 't1', {FILTER => org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(1, 0)}