`
tobyqiu
  • 浏览: 40872 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hive 压缩比较

阅读更多

 

set hive.exec.compress.intermediate=false;
set mapred.output.compress=false;

create table a as select * from dimdate;
Table default.a stats: [numFiles=1, numRows=1188, totalSize=90068, rawDataSize=88880]
Job 0: Map: 1   Cumulative CPU: 1.88 sec   HDFS Read: 6083 HDFS Write: 90138 SUCCESS

 通过 hdfs dfs -cat /filepath  查看a 是否被压缩

 

可以看出没压缩的时候 a表有 1个文件 1188行 9k的大小 裸数据大小8k

再看压缩的

set hive.exec.compress.intermediate=true;
set mapred.map.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

create table a_gz as select * from dimdate;
Table default.a_gz stats: [numFiles=1, numRows=1188, totalSize=11316, rawDataSize=88880]
MapReduce Jobs Launched:
Job 0: Map: 1   Cumulative CPU: 1.31 sec   HDFS Read: 6083 HDFS Write: 11389 SUCCESS

 压缩后 大小变成了1k,而去 write的数据也从9k变成了1k

因为是压缩文件 就不能用 dfs -cat 了

所以要用 zact +filepath

 

压不压还是区别蛮大的.但是对于自带压缩的文件格式,比如orc

hive.exec.compress.output 是true或者是false 都是一样的 因为orc 默认是zilb压缩

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics