我想使用hbase shell根据列值时间戳过滤列。例如:
f:my_qualifier timestamp=1417542508438, value=some value
我想返回时间戳>特定时间戳的所有列值。是否可以使用hbase shell?看来TimestampsFilter需要特定的时间戳,我认为无法使用比较器。
提前致谢!
使用TIMERANGE选项:
scan 't1', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]}
看看scan命令帮助中的更多选项:
hbase(main):001:0> scan Here is some help for this command: Scan a table; pass table name and optionally a dictionary of scanner specifications. Scanner specifications may include one or more of: TIMERANGE, FILTER, LIMIT, STARTROW, STOPROW, TIMESTAMP, MAXLENGTH, or COLUMNS, CACHE Some examples: 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)}