HiveQL:文件格式和压缩方法

本小妞迷上赌 提交于 2019-11-28 05:51:51

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 -- 开启输出结果压缩功能

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!