Hadoop中MR支持的各种压缩及解码器

tech2022-11-03  120

Hadoop中MR支持的各种压缩及解码器

 MR中默认支持DEFLATE压缩格式,文件扩展名.defiate 和文本处理相同,不需要修改。  Gzip压缩:压缩率比较高,并且压缩/解压速度也比较快,且被hadoop本身支持,大部分Linux系统自带Gzip命令,使用方便,但是不支持切片。当每个文件压缩之后在130M以内,都可以考虑用Gzip压缩,如一天或一个小时的日志。  Bzip2压缩:支持切片,具有最高的压缩率,hadoop本身自带,使用方便。但是压缩和解压速度很慢,适合对速度要求不高,但需要较高的压缩率的时候,  Lzo压缩:压缩和解压速度也比较快,合理的压缩率,支持切片,是hadoop中最流行的压缩格式,但是hadoop本身不支持,需要安装lzop命令,使用比较麻烦。如果要求支持切片,还需要建索引,还需要指定InputFormat为Lzo格式。单个文件越大,Lzo的优势越明显。  Snappy压缩:高速的压缩速度和合理的压缩率。但是不支持切片,hadoop一开始不支持,但是现在自带snappy压缩,当MapReduce作业的map输出数据比较大时,作为map和reduce的中间数据的压缩格式,或者作为一个MapReduce作业的输出和另一个MapReduce作业的输入。 相应的编码/解码器 DEFLATE  org.apache.hadoop.io.compress.DefaultCodec Gzip    org.apache.hadoop.io.compress.GzipCodec Bzip2    org.apache.hadoop.io.compress.BZip2Codec LZO   com.hadoop.compression.lzo.LzopCodec Snappy  org.apache.hadoop.io.compress.SnappyCodec

最新回复(0)