hadoop3.x MapReduce 在mapred-site.xml中配置map、reduce压缩

查看支持的压缩格式

执行下面命令:

hadoop checknative

检查本地库结果如下:

Native library checking:
hadoop:  true /program/hadoop-3.0.3/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
zstd  :  false
snappy:  true /lib64/libsnappy.so.1
lz4:     true revision:10301
bzip2:   true /lib64/libbz2.so.1
openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!
ISA-L:   false libhadoop was built without ISA-L support

说明支持 zlib、snappy、lz4、bzip2 压缩格式

注意: snappy 与 hadoop、linux版本相关,如果不支持,需要重新编译hadoop

说明

修改 mapred-site.xml 配置文件,增加内容如下:

<property>
    <name>mapreduce.map.output.compress</name>
    <value>true</value>
    <description>map是否启用压缩</description>
</property>
<property>
    <name>mapreduce.map.output.compress.codec</name>
    <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    <description>map采用何种压缩算法</description>
</property>

<property>
    <name>mapreduce.output.fileoutputformat.compress</name>
    <value>true</value>
    <description>reduce是否启用压缩</description>
</property>
<property>
    <name>mapreduce.output.fileoutputformat.compress.codec</name>
    <value>org.apache.hadoop.io.compress.GzipCodec</value>
    <description>reduce采用何种压缩算法</description>
</property>

原文出处:/show_1IX2EAekiCdh.html