hive 压缩参数

压缩考虑

第一

压缩率     

第二

压缩/解压缩时间(cpu开销)

第三

是否支持切分

对以上三个问题说明

BZip2的压缩率最高,消耗的cpu资源也最多,支持分割

Gzip 的压缩率和压缩速度都还可以,如果磁盘利用率和和I/O开销都要考虑的话,是不错的选择,但是不支持分割

LZO和snappy压缩率比请两个要小,但是速度很快        其中Snappy不支持分割,lzo支持分割

(对应分割,如果支持分割,那么mapreduce作业,map任务就可以进行并行处理文件,如果不支持分割,文件有特别大,map任务只能从文件头读到尾,整改过程只能有一个map任务,效率肯定不好,不能利用机器的并行性。特别注意不可分割指的并不是hdfs上只能有一个块,而是指mapreduce作业的输入分片不能按块划分分片,只能一直从头读到尾,因而虽然有多个块,但仍然只能有一个map任务)

1.中间压缩

Set  hive.exec.compress.intermediate=true

2.输出结果压缩

Set hive.exec.compress.output=true

3.sequence file 存储格式压缩

三种级别 none record block,这个参数hadoop也有

Maped.output.compression.type

可以和其他压缩格式一起使用,同时又支持分割,只对于reduce产生的较大文件是一个很好的处理办法,即可节省

磁盘空间,又可以对下个作业的输入提供可分割的map

4压缩编/解码器

Org.apache.hadoop.io.compress.GzipCodec

Org.apache.hadoop.io.compress.DefaultCodec

Org.apache.hadoop.io.compress.Bzip2Codec

Org.apache.hadoop.io.compress.SnappyCodec

 

Set mapred.output.compression.codec=上述四种之一

你可能感兴趣的:(Hadoop)