【发布时间】:2011-10-07 00:21:40
【问题描述】:
我的 hbase 实例中有以下场景
hbase(main):002:0> create 'test', 'cf'
0 row(s) in 1.4690 seconds
hbase(main):003:0> put 'test', 'row1', 'cf:a', 'value1'
0 row(s) in 0.1480 seconds
hbase(main):004:0> put 'test', 'row2', 'cf:b', 'value2'
0 row(s) in 0.0070 seconds
hbase(main):005:0> put 'test', 'row3', 'cf:c', 'value3'
0 row(s) in 0.0120 seconds
hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value4'
0 row(s) in 0.0070 seconds
现在,如果您会看到,最后两个插入是针对同一列族、同一列和同一键的。但是,如果我正确理解 hbase,cf:c+row3 表示一个单元格,该单元格将具有插入值的所有时间戳版本。
但是简单的扫描只返回最近的值
hbase(main):010:0> scan 'test'
ROW COLUMN+CELL
row1 column=cf:a, timestamp=1317945279379, value=value1
row2 column=cf:b, timestamp=1317945285731, value=value2
row3 column=cf:c, timestamp=1317945301466, value=value4
3 row(s) in 0.0250 seconds
如何获取单元格的所有时间戳值,或者如何执行基于时间范围的查询?
【问题讨论】: