HBase启用压缩

HBase启用压缩

 

HBase 创建表时默认压缩为 NONE ,即没有压缩,除非指定。

目前 HBase 主要支持 4 种压缩方式:GZ(GZIP),SNAPPY,LZO,LZ4。

1. 压缩算法的比较

算法压缩比压缩解压
GZIP13.4%21MB/s118MB/s
LZO20.5%135MB/s410MB/s
Snappy/Zippy22.2%172MB/s409MB/s

总结:

  1. GZIP的压缩率最高,但它是CPU密集型的,对CPU的消耗较多,压缩和解压速度也慢;
  2. LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多;
  3. Zippy/Snappy的压缩率最低,而压缩和解压速度要稍微比LZO要快一些

所以,一般情况下,推荐使用Snappy和Zippy压缩算法。

2. hbase表启用压缩的步骤

这里分为两种情况:

  • 一是在创建表时指定压缩算法;
  • 二是在创建表后指定压缩算法或者修改压缩算法。

 

2.1 创建表时指定压缩算法

create 'test', {NAME => 'info', VERSIONS => 1, COMPRESSION => 'snappy'}
# 表创建之后,使用describe命令查看表信息
describe 'test'

2.2 创建表后指定或修改压缩算法

1) disable需要修改的表

disable 'test'

注意,如果表较大,disable需要一些时间,请耐心等待
2) 使用alter命令进行更改

alter 'test', NAME => 'info', COMPRESSION => 'snappy'

NAME即column family,列族。HBase修改压缩格式,需要一个列族一个列族的修改,注意大小写,不要弄错了。如果修改错了,将会创建一个新的列族,且压缩格式为snappy。当然,假如你还是不小心创建了一个新列族的话,可以通过以下方式删除:

alter 'test', {NAME=>'info', METHOD=>'delete'}

3) 重新enable表

enable 'test'

4) 对表进行major_compact操作,使压缩生效

major_compact  'test'

注意,如果表的数据较多,该操作需要较长时间,所以尽量选择一个不忙的时间,避免对服务造成影响。

修改完成后,可使用describe命令查看表信息

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值