Hive学习-高级版五(压缩和存储)

hive的压缩本质上指的是MapReduce的压缩,因为hive其实就是MapReduce的高级语言版(SQL),hive SQL底层的运行也都是解析成MapReduce程序去运行的。这里的压缩涉及到两个方面,一个是临时的缓存数据,一个是永久的落地数据。缓存数据其实就是map方法的输出,永久的落地数据当然就是reduce的输出了(网上还有把map读取的数据算一个阶段,觉得不需要特别设置就不说了)。压缩种类不少,各有各的特点,需要各位根据自己的场景选择合适的压缩方式。

Hive学习-高级版五(压缩和存储)_第1张图片

1、lzo压缩(map、reduce最常用)
压缩比:20%    压解速度:比较快   是否支持split:支持(需要创建索引)

2、snappy压缩(map最常用)

压缩比:25%    压解速度:比lzo块    是否支持split:不支持

3、gzip压缩(很少用)

压缩比:13%    压解速度:很慢    是否支持split:不支持

4、bzip2压缩(很少用)

压缩比:和gzip差不多    压解速度:很慢    是否支持split:支持

你可能感兴趣的:(Hive学习-高级版五(压缩和存储))