0%

大数据存储框架之HBase(2) 解压缩

HBase作为大数据存储框架中性能等各方面都比较优秀的框架,面对着大量数据的冲击,我们一般会使用对数据进行压缩来进行存储。就像在Hive中,我们会用到LZO压缩,在Hadoop中,我们会使用Snappy压缩。

HBase中压缩算法的比较

以下数据是Google在2005年发布的一个测试数据。
Algorithm |% remaining| Encoding | Decoding
—|–|—|—
GZIP | 13.4% |21 MB/s |118 MB/s
LZO |20.5% | 135 MB/s |410 MB/s
Zippy/Snappy |22.2% |172 MB/s |409 MB/s

数据来源HBase: The Definitive Guide

1)GZIP的压缩率最高,但是其实CPU密集型的,对CPU的消耗比其他算法要多,压缩和解压速度也慢;

2)LZO的压缩率居中,比GZIP要低一些,但是压缩和解压速度明显要比GZIP快很多,其中解压速度快的更多;

3)Zippy/Snappy的压缩率最低,而压缩和解压速度要稍微比LZO要快一些。

下面是阿里云云数据库HBase版中关于几个压缩算法的开发指南。

业务类型无压缩表大小LZO(压缩率/解压速度MB/s)ZSTD(压缩率/解压速度MB/s)LZ4(压缩率/解压速度MB/s)
监控类419.75T5.82/37213.09/2565.19/463.8
日志类77.26T4.11/3336.0/2874.16/496.1
风控类147.83T4.29/297.75.93/2704.19/441.38
消费记录108.04T5.93/316.810.51/288.35.55/520.3

HBase压缩的开启

创建表时开启压缩

1
create 'test', {NAME => 'info', VERSIONS => 1, COMPRESSION => 'LZO'}

已有的表开启压缩

1
2
3
4
5
disable 'test' ;
alter 'test', NAME => 'info', COMPRESSION => 'LZO'

enable 'test'
major_compact 'test'
这是打赏的地方...

本文标题:大数据存储框架之HBase(2) 解压缩

文章作者:Mr.Sun

发布时间:2019年12月03日 - 08:59:55

最后更新:2020年06月15日 - 10:05:35

原始链接:http://www.blog.sun-iot.xyz/posts/28354f2b

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

---------Thanks for your attention---------