几种压缩方式及各自优缺点【重点】

叁歲伎倆 2023-10-14 11:53 152阅读 0赞

up-7f60fb9cec81b3e56b5177e4e91d947eb2c.png

压缩方式有Gzip、Bzip2、LZO、Snappy压缩等几种方式,他们的优缺点分别为:

1.Gzip压缩:Hadoop自带的压缩方式,不支持切片,压缩比率高,但压缩速度慢;

应用场景:

(1)因为不支持切片,所以可以用在“当每个文件压缩之后都不超过130M以内的(一个块大小内)的场景。”

2.Bzip2压缩:Hadoop自带的压缩方式,支持切片,压缩率很高,比Gzip还高,但压缩速度很慢,毕竟慢工出细活;

应用场景:

(1)适合对速度要求不高,但需要较高的压缩率的时候

(2)输出的数据比较大,需要压缩存档减少磁盘空间并且以后数据用的少的情况(冷数据)

(3)单个很大的文本文件想压缩来减少存储空间,同时又需要支持Split。

3.LZO压缩:Hadoop默认不支持LZO,需要手动配置才可以使用,支持切片,压缩率介于Gzip和Snappy之间,压缩速度也较快。

应用场景:

(1)当一个文本文件很大时,压缩之后还大于200M以上的可以考虑,而且单个文件越大,LZO有点越明显。

4.Snappy压缩:Hadoop自带的压缩方式,不支持切片,压缩率较低,但压缩速度特别快。

应用场景:

(1)当Map输出的数据较大,作为Map到Reduce的中间数据的压缩格式

(2)作为一个MapReduce作业的输出(reduce)和另一个MapReduce作业的输入(Map)

提示: 如果面试过程问起,我们一般回答压缩方式为 Snappy ,特点速度快,缺点无法

切分(可以回答在链式 MR 中, Reduce 端输出使用 bzip2 压缩,以便后续的 map 任务对数 据进行 split )

项目经验之 LZO 压缩

Hadoop 默认不支持 LZO 压缩,如果需要支持 LZO 压缩,需要添加 jar 包,并在 hadoop 的 cores-site.xml 文件中添加相关压缩配置。

发表评论

表情:
评论列表 (有 0 条评论,152人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JSON常见压缩方式

    无论使用何种编程语言,json格式的数据已被广泛应用,不论是数据的传输还是存储,在很多应用场景下,你可能想进一步地压缩JSON字符串的长度,以提升传输效率,如果你使用的是nos