1、为map中间输出启用压缩。
一般对于中间输出压缩采用低压缩比,高压缩解压缩速度的压缩算法,如LZO,Snappy
set hive.exec.compress.intermediate=true;
set mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;
2、为最终输出结果启用压缩
需要注意的是:有些压缩格式是不支持切分的,这样后续mapre-reduce任务将不能并行处理。
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
3、为输出使用sequence file 文件格式
create table tname stored as sequencefile;
为sequence file 文件开启压缩
set mapred.output.compression.type=BLOCK;
常见的压缩格式:
DEFLATE org.apache.hadoop.io.compress.DefaultCodec
gzip org.apache.hadoop.io.compress.GzipCodec
bzip org.apache.hadoop.io.compress.BZip2Codec
Snappy org.apache.hadoop.io.compress.SnappyCodec
原文:http://my.oschina.net/xiangtao/blog/406553