整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

4.2. 压缩

hadoop 花牛 6℃ 0评论

文件压缩有两大好处:减少存储文件所需要&磁盘空间,并加速数据在网络和磁盘上的传输。这两大好处在处理大量数据时相当重要,所以我们值得仔细考虑在Hadoop中文件压缩的用法。

有很多种不同的压缩格式、工具和算法,它们各有千秋。表4-1列出了与Hadoop结合使用的常见压缩方法。

表4-1.压缩格式总结

压缩格式

工具

算法

文件扩展名

否可切分

DEFLATE

DEFLATE

.deflate

Gzip

gzip

DEFLATE

.gz

bzip2

bzip2

bzip2

.bz2

LZO

Izop

LZO

.Izo

LZ4

LZ4

.lz4

Snappy

Snappy

.snappy

· DEFLATE是一个标准压缩算法,该算法的标准实现是zlib。没有可用干生成 DEFLATE文件的常用命令行工具,因为通常都用gzip格式。注意,gzip文件格式 只是在DEFLATE格式上增加了文件头和一个文件尾。.deflate文件扩展名是Hadoop约定的。

· 但如果LZO文件已经在预处理过程中被索引了,那么LZO文件是可切分的。

所有压缩算法都需要权衡空间/时间:压缩和解压缩速度更快,其代价通常是只能节省少量的空间。表4-1列出的所有压缩工具都提供9个不同的选 项来控制压缩时必须考虑的权衡:选项-1为优化压缩速度,-9为优化压缩空间。例如,下述命令通过最快的压缩方法创建一个名为识的压缩文件:

gzip -1 file

不同压缩工具有不同的压缩特性。gzip是一个通用的压缩工具,在空间/时间性能的权衡中,居于其他两个压缩方法之间。bzip2的压缩能力强于gzip,但压缩速度更慢一点。尽管bzip2的解压速度比压缩速度快,但仍比其他压缩格式要慢一些。另一方面,LZOLZ4和Snappy均优化压缩速度,其速度比gzip快一个数量级,但压缩效率稍逊一筹。SnappyLZ4的解压缩速度比LZO高出很多。

表4-1中的“是否可切分”列表示对应的压缩算法是否支持切分 (splitable),也就是说,是否可以搜索数据流的任意位置并进一步往下读取 数据。可切分压缩格式尤其适合MapReduce

转载请注明:全栈大数据 » 4.2. 压缩

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址