常见的数据压缩算法
Deflate
gzip
bzip2
LZO
LZ4
Snappy
LZO和LZ4算法已经不再hadoop1.x
1)DEFLATW是同时使用LZ77算法和哈夫曼编码的一个无损数据压缩算法,源代码可以在zlib库中找到
gzip是以DEFLATW算法为基础扩展出来的一种算法
2)压缩算法都是空间和时间的转换,更快的压缩时间还是更小的压缩比,可以通过参数来制定
-1意味着速度,-9意味着空间。拿gzip来做个例子,下面就意味着更快速的压缩。
gzip -1 file
3)gzip在时间和空间上比较适中,bzip2压缩比gzip更有效,但速度更慢。
bzip2的压缩速度比它的压缩速度更快,但是和其他压缩格式相比又是最慢的,单
是压缩效果明显是组号的。snappy和LZ4d的压缩速度比LZ0好很多
4)splittable表示的是压缩格式是否可以被分割,也是就是否支持随机读。阿索数据是否被mapreduce使用,
压缩数据是否能被分割就很关键了。
存放压缩算法
/home/hadoop-1.2.1/src/core/org/apache/hadoop/io/compress
如何使用Snappy & Zlib
下载http://code.google.com/p/snappy/downloads/list
配置:
1)hadoop.native.lib参数
2)设置LD_LIBRAEY_PATH环境变量或者java.library.path属性
这两个路径必须包含hadoop