0%

压缩

压缩

hive其实本质就是MapReduce,所以hive的压缩也就相当于MapReduce的压缩,大家可以看一下hadoop中的MapReduce压缩

之前有文章是介绍这个的,这里就不赘述了,附上链接

数据压缩

这里来说明一下hive的压缩功能

压缩配置

Map输出阶段压缩配置

设置配置hive.exec.compress.intermediate开启hive压缩功能

1
2
-- 默认是false
hive (study_hive)> set hive.exec.compress.intermediate=true;

配置mapreduce.map.output.compress开启map输出压缩功能

1
2
-- 默认为true
hive (study_hive)> set mapreduce.map.output.compress=true;

配置mapreduce中map输出数据的压缩方式

1
2
-- 默认为org.apache.hadoop.io.compress.DefaultCodec
hive (study_hive)> set mapreduce.map.output.compress.codec=org.apache.hadoop.io.compress.DefaultCodec;

Reduce输出阶段压缩配置

配置开启hive最终输出数据压缩功能

1
2
-- 默认为false
hive (study_hive)> set hive.exec.compress.output=true;

配置开启mapreduce最终输出数据压缩

1
2
-- 默认false
hive (study_hive)> set mapreduce.output.fileoutputformat.compress=true;

配置mapreduce最终输出数据压缩方式

1
2
-- 默认org.apache.hadoop.io.compress.DefaultCodec
hive (study_hive)> set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.DefaultCodec;

配置mapreduce最终输出数据压缩为块压缩

1
2
-- 默认为RECORD  记录压缩即行压缩
hive (study_hive)> set mapreduce.output.fileoutputformat.compress.type=BLOCK;