目录
压缩和存储
Hadoop压缩配置
MR支持的压缩编码
压缩格式 | 算法 | 文件扩展名 | 是否可切分 |
gzip | DEFLATE | .gz | 否 |
snappy | snappy | .snappy | 否 |
DEFLATE | DEFLATE | .deflate | 否 |
bzip2 | bzip2 | .bz2 | 是 |
LZO | lzo | .lzo | 是 |
Hadoop的编码/解码器
压缩格式 | 对应的编码/解码器 |
gzip | org.apache.hadoop.io.compress.GzipCodec |
snappy | org.apache.hadoop.io.compress.SnappyCodec |
DEFLATE | org.apache.hadoop.io.compress.DefaultCodec |
bzip2 | org.apache.hadoop.io.compress.Bzip2Codec |
LZO | com.hadoop/compress.lzo.LzopCodec |
压缩性能的比较
压缩算法 | 源文件大小 | 压缩文件大小 | 压缩速度 | 解压速度 |
gzip | 8.3g | 1.8g | 17.5MB/s | 58MB/s |
bzip2 | 8.3g | 1.1g | 2.4MB/s | 9.5MB/s |
LZO | 8.3g | 2.9g | 29.3MB/s | 74.6MB/s |
注:Snappy的压缩速度和解压速度都非常快。
压缩参数配置
在mapred-site.xml中配置压缩参数才可以在Hadoop中使用压缩。
参数 | 默认值 | 阶段 | 建议 |
io.compression.codecs
(在
core-site.xml
中配置)
|
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.Lz4Codec
|
输入压缩
|
Hadoop
使用文件扩展名判断是否支持某种编解码器
|
mapreduce.map.output.com
press
|