HiveQL:文件格式和压缩方法

1.压缩/解压

/*
压缩:可以最小化所需要的磁盘存储空间,以及减小磁盘和网络I/O操作,但是文件压缩和解压过程会增加CPU开销。因此,对于压缩密集型的job最好使用压缩,特别是有额外的CPU资源或者磁盘存储空间比较稀缺的情况。
*/
-- BZip2压缩率最高,但是消耗最多的CPU开销
-- GZip是压缩率和压缩/解压速度上的下一个选择
-- LZO和Snappy压缩率低于前两者,但是速度快
-- Bzip2和LZO可以支持块级别的压缩,另外两者不支持,如果用后两者,可以将文件分割成期望值的大小。

2.开启中间压缩

/*
对中间数据进行压缩可以减少job中map和reduce task中间的数据传输量,对与中间数据,选择一个低CPU开销的编/解器要比选择一个压缩率高的编/解要重要的多。
*/
hive.exec.compress.intermediate = true

3.最终输出结果压缩

/*
当Hive将输出写入到表中,输出内容同样可以进行压缩。
*/
hive.compress.output = true -- 开启输出结果压缩功能
原文地址:https://www.cnblogs.com/lijingang/p/11395556.html