欢迎投稿

今日深度:

Hive 压缩,

Hive 压缩,


压缩优点

  • 省空间
  • 网络传输快
  • 降低IO

压缩缺点

  • CPU负载增加
  • 如果不支持分割,并行度低

常用压缩

名称 code 压缩 压缩时间 解压时间 是否支持分割
Snappy org.apache.hadoop.io.compress.SnappyCodec 49.96% 6.41 19.84
gzip org.apache.hadoop.io.compress.GzipCodec 31.90% 85.67 21.82
lzo com.hadoop.compression.lzo.LzopCodec/com.hadoop.compression.lzo.LzoCodec 48.82% 7.61 11.17 Yes If Index
lz4 org.apache.hadoop.io.compress.DefaultCodec 49.46% 6.45 2.36
bzip2 org.apache.hadoop.io.compress.BZip2Codec 27.83% 142.32 62.51

hadoop配置

  • 启用native
    编译时需要启用native,可使用hadoop checknative命令检查是否启用。
  • core-site.xml
<property>
	<name>io.compression.codecs</name>
	<value>
	org.apache.hadoop.io.compress.GzipCodec,
	org.apache.hadoop.io.compress.DefaultCodec,
	org.apache.hadoop.io.compress.BZip2Codec,
	org.apache.hadoop.io.compress.SnappyCodec
	</value>
</property>	
  • mapred-site.xml
    这个配置文件中,分为总的输出和中间的输出(map),可根据实际情况配置,需要修改时可自行修改。
<property>
	<name>mapreduce.output.fileoutputformat.compress</name>
	<value>true</value>
</property>
<property>
	<name>mapreduce.output.fileoutputformat.compress.codec</name>
	<value>org.apache.hadoop.io.compress.BZip2Codec</value>
</property>	

<!--启用map中间文件压缩-->
<property> 
    <name>mapreduce.map.output.compress</name> 
    <value>true</value> 
</property> 
<!--启用map中间压缩类-->
<property>
   <name>mapred.map.output.compression.codec</name>
   <value>com.hadoop.compression.SnappyCodec</value>
</property>

Hive配置

  • 命令方式(推荐使用)
    SET hive.exec.compress.output=true;
    SET mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.BZip2Codec;
--最佳实践
SET hive.exec.compress.output=true;
SET mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.BZip2Codec;

create table page_views_bzip2
ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t"
as select * from page_views;
--最后还原设置
set xxx=yyy
  • hive-site.xml

总结

  • 输入端
    最好使用支持分割的压缩方式,多一个task并行执行。

  • map端
    使用解压缩速度快的压缩方式

  • 输出端
    如果结果不作为下一个作业的输入,使用高压缩的压缩方式

  • 其他
    时间与CPU负载成反比,压缩越多,集群负载越大。如果集群负载很大了,最好不要使用压缩。

www.htsjk.Com true http://www.htsjk.com/hive/39641.html NewsArticle Hive 压缩, 压缩优点 省空间 网络传输快 降低IO 压缩缺点 CPU负载增加 如果不支持分割,并行度低 常用压缩 名称 code 压缩 压缩时间 解压时间 是否支持分割 Snappy org.apache.hadoop.io.compre...
相关文章
    暂无相关文章
评论暂时关闭