leekeggs

1. 压缩算法的比较

算法 压缩比 压缩 解压
GZIP 13.4% 21MB/s 118MB/s
LZO 20.5% 135MB/s 410MB/s
Snappy/Zippy 22.2% 172MB/s 409MB/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\'}
  1. 重新enable表
enable \'test\'
  1. 对表进行major_compact操作,使压缩生效
major_compact  \'test\'

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

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

分类:

技术点:

相关文章:

  • 2021-11-03
  • 2021-12-31
  • 2017-11-21
  • 2021-11-25
  • 2021-12-31
  • 2021-09-16
  • 2021-09-27
猜你喜欢
  • 2021-09-17
  • 2021-09-27
  • 2021-09-19
  • 2017-12-05
  • 2021-08-20
  • 2021-09-16
相关资源
相似解决方案