我们做hive查询时候经常会出现出数过慢的问题,于是采用了LZO压缩,再在压缩块上做索引的方式去解决这个问题,但是也引入了新的问题点
lzo本身的压缩功能只能在linux上压缩再上传到HDFS平台,供给hive使用,于是当你一个hive表下面的数据块很大的时候你想压缩就必须下载到linux,压缩完再上传我HDFS。这个过程实在太麻烦而且消耗时间。后来找到个方案:
SET mapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec;
SET hive.exec.compress.output=true;
SET mapreduce.output.fileoutputformat.compress=true;
insert overwrite table test.exter_terminal_reg partition
采用hive设置参数 让hive去帮忙压缩。然后再在这些产生的LZO数据上面做索引