Hbase中通过row和columns确定的为一个存贮单元称为cell,每个 cell都保存着同一份数据的多个版本。在默认的情况下,HBase会存储三个版本的历史数据。但是在实际应用中,出于性能或业务需要,我们可能只有一个或其他数量的版本需要存储。那么如何修改这一默认配置呢?
建表时配置
如果你还没有建表,那你可以在建表时指定VERSIONS来设定版本号,就是存储几个版本的数据。
create '表名',{NAME='列族名1',VERSIONS=给定一个版本号},{NAME='列族名2',VERSIONS=给定的版本号}
修改表配置
如果在建表时没有指定版本号,那么就需要按照以下步骤修改表配置:
- 在表已经建好的情况下,需要首先将表下线:
disable 'table'
- 修改表属性(可指定对某个列族修改)
alter 'table' , NAME => 'f', VERSION => 1
- 重新上线(enable)
enable 'table'
版本号查询
根据版本号我们可以指定查询几个版本的数据:
scan 'test', { VERSIONS=>3}
scan 'test', { COLUMNS => ['f:t1', 'f:t2'],VERSIONS=>3}