答案部分正确。不正确:hbase 存储了三个版本。证明见下文。
True: 可以设置 hbase 通过
返回的最大版本数
alter 'marketdata', NAME => 'field', VERSIONS => 100
但现在让我们假设,我没有更改版本变量。
我的 hbase 中有十个条目,时间戳从 0 到 9。
最新的时间戳是:
hbase(main):025:0> get 'marketdata', 'instrument1', {COLUMN => 'field:ask'}
COLUMN CELL
field:ask timestamp=9, value=0.9940174211042572
1 row(s) in 0.0590 seconds
hbase(main):026:0>
显示的时间戳 1 到 5 的值是:
hbase(main):027:0> get 'marketdata', 'instrument1', {COLUMN => 'field:ask', TIMERANGE => [0,5], VERSIONS=>5}
COLUMN CELL
field:ask timestamp=4, value=0.530618878519702
field:ask timestamp=3, value=0.051028316270589014
field:ask timestamp=2, value=0.11949750640509116
3 row(s) in 0.0130 seconds
hbase(main):028:0>
...当我将结束时间戳设置为 10 时,它仍然只显示该时间戳之前的最后三个版本并抑制前一个版本:
hbase(main):028:0> get 'marketdata', 'instrument1', {COLUMN => 'field:ask', TIMERANGE => [0,10], VERSIONS=>5}
COLUMN CELL
field:ask timestamp=9, value=0.9940174211042572
field:ask timestamp=8, value=0.6941263513176372
field:ask timestamp=7, value=0.1814043435754933
3 row(s) in 0.0400 seconds
hbase(main):029:0>