HBase的VERSIONS的意思

本文介绍了HBase中的时间戳和版本控制概念。每个cell对应一个特定时间戳的版本,版本数可通过设置列族的VERSIONS属性来指定。默认情况下,列族可能只保留一个版本,但可以通过ALTER命令修改,例如将cf1列族的版本数改为3。当执行flush操作时,HBase会根据时间戳保留最新的几个版本数据。通过describe命令可以查看表的列族版本信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 每个不同时间戳的cell就是一个版本,时间戳就是版本

  2. 可以设置列族的VERSIONS属性,当执行flush操作时,put的记录
    会根据时间戳选择最新的VERSIONS个版本的数据flush到磁盘中!

    每次flush,最多flush VERSIONS个版本的数据!

查看表的列族的版本号

下面VERSIONS都是一个,意思是cf1和cf2和f3列族都是保留一个版本.

hbase(main):002:0> describe 'ns1:t1'
Table ns1:t1 is ENABLED
ns1:t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_B
LOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCK
SIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'cf2', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_B
LOCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCK
SIZE => '65536', REPLICATION_SCOPE => '0'}
{NAME => 'f3', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BL
OCK_ENCODING => 'NONE', TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKS
IZE => '65536', REPLICATION_SCOPE => '0'}
3 row(s) in 4.3230 seconds

修改列族的版本号数量

修改 ns1:t1表的 cf1列族版本号为3

alter ‘ns1:t1’ ,{NAME =>‘cf1’,VERSIONS =>‘3’}

hbase(main):004:0> alter 'ns1:t1' ,{NAME =>'cf1',VERSIONS =>'3'}
Updating all regions with the new schema...
0/1 regions updated.
1/1 regions updated.
Done.
0 row(s) in 3.8090 seconds

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值