hadoop默认不支持lzo的压缩格式;
lzo压缩工具,支持对超过block大小的数据进行切分,在生产中可以提高Job的处理效率;
lzo所需组件:
lzo
lzop
hadoop-gpl-packaging:gpl-packaging的作用主要是对压缩的lzo文件创建索引,否则的话,无论压缩文件是否大于hdfs的block大小,都只会1个map操作。
编译安装lzo:
#安装相关依赖 yum -y install lzo-devel zlib-devel gcc autoconf automake libtool #编译lzo cd /usr/local/src wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz tar -zxvf lzo-2.06.tar.gz cd lzo-2.06 export CFLAGS=-m64 ./configure -enable-shared -prefix=/usr/local/lzo make make install 注:编译完lzo包之后,会在/usr/local/lzo/目录下生成一些文件。 [root@hadoop004 lzo]# ll total 0 drwxr-xr-x 3 root root 17 Apr 19 10:30 include drwxr-xr-x 2 root root 103 Apr 19 10:30 lib drwxr-xr-x 3 root root 17 Apr 19 10:30 share #查看lzop命令: [root@hadoop004 lzo]# which lzop /usr/bin/lzop #lzo命令使用方法及压缩测试 lzo压缩:lzop -v filename lzo解压:lzop -dv filename [root@hadoop004 hadoop]# du -sh * 69M access.log 16M access.log.lzo 注:.lzo为压缩过后的文件,可以看到压缩比例很高。