Hadoop 压缩

压缩的好处

  文件压缩的好处:减小文件存储锁须要的磁盘空间,加速数据在网络和磁盘上的传输。算法

常见的压缩格式

压缩格式    工具      算法      文件扩展名      是否能够切分网络

DELATE    无       DEFLATE       .delate        否app

Gzip      gzip      DEFLATE    .gz          否工具

bzip2     bzip2      bzip2      .bz2          是性能

LZO      lzop      lzo       .lzo          否优化

LZ4      无       LZ4       .lz4         否spa

Snappy    无       Snappy      .snappy      否code

 

选择压缩算法的时候须要考虑到时间和空间,若是要想压缩个解压速度快,那么一定会牺牲空间为代价,在使用压缩的时候,能够经过使用选项来选择是优化速度仍是优化空间,例如,gzip算法,使用-1选项表示优化时间,使用 -9 表示节省空间。  gzip -1 test.txtorm

压缩和解压缩的算法代码

若是须要使用上述的其余压缩和解压缩算法,能够zai core-siye.xml文件定义 io.compression.codecs  属性xml

MapReduce中使用压缩

reduce端

修改mapred-site.xml文件

mapreduce.output.fileoutputformat.compress  设置为true

mapreduce.output.fileoutputformat.compress.codec  设置相应的压缩算法类名

若是输出是序列文件(sequence file),还能够设置mapreduce.output.fileoutputformat.compress.type属性来控制使用的压缩格式。默认是RECODE,既针对每条记录进行压缩,还有其余的属性值,如NONE,BLOCK,若是改外BLOCK,将针对每一组记录进行压缩。推荐这种压缩方式,压缩效率更高。

map端

对map的输出进行压缩,使用像LZO、LZ四、Snappy这样的快速压缩方式,能够得到性能的提高,应为须要传输的数据减小了。

修改mapred-site.xml文件

mapreduce.map.output.compress 设置为true,默认是false

mapreduce.map.output.compress.codec   压缩类型

相关文章
相关标签/搜索