CDH平台Hive压缩设置

主要是对CDH6.0.1平台,Hive的压缩进行设置。

 

查看Hive支持的压缩方式

set io.compression.codecs;

io.compression.codecs=
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.DeflateCodec,
org.apache.hadoop.io.compress.SnappyCodec,
org.apache.hadoop.io.compress.Lz4Codec

查看Hive默认文件类型

set hive.default.fileformat;

hive.default.fileformat=TextFile
# 其他
sequencefile    二进制可分割类型,NONE,RECORD,BLOCK三种方式,一般BLOCK
rcfile          行列结合存储方式
orcfile         rcfile的升级版,建议

查看Hive中Orc和parquet默认压缩格式

set orc.compress;
set parquet.compress;

 

采用ORC+Snappy压缩是比较常用的格式,CDH6已经自动部署了Snappy压缩。

这是没有分区表的压缩前和压缩后大小。

 

 

建表时启用压缩

CREATE TABLE `virtual_payment_cp` (
  `ID` bigint,
  `DEVICE_CODE` string COMMENT 'xx',
  `LOGIN_ACCOUNT` string COMMENT 'xx',
  `AMOUNT` decimal(11,2) COMMENT 'xx',
  `PAY_RESULT` int COMMENT 'xx',
  `CP_GAME_ID` bigint COMMENT 'xx'
) PARTITIONED BY(`DATE` STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
STORED AS orc tblproperties ("orc.compress"="SNAPPY");

 

Hive表启用压缩

Hive会话中临时设置

# 中间传输数据压缩,就是map产生的数据,等同于map端压缩设置,作用一样
set hive.exec.compress.intermediate=true;
set hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;

# 输出数据压缩,等同于reduce端输出压缩
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;

# Map端压缩,等同于hive中间压缩
set mapred.map.output.compress=true;
set mapred.map.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;

# Reduce端输出压缩,等同于hive输出数据压缩
set mapreduce.output.fileoutputformat.compress=true;
set mapreduce.output.fileoutputformat.compress.codec=org.apache.hadoop.io.compress.SnappyCodec;

# 设置序列化,Sequencefile的设置
set mapred.map.output.compression.type=BLOCK;
set mapred.output.compression.type=BLOCK;

 

CDH -> Hive -> hive-site.xml 客户端

<property><name>hive.exec.compress.intermediate</name><value>true</value></property>
<property><name>hive.intermediate.compression.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value></property>
<property><name>hive.exec.compress.output</name><value>true</value></property>
<property><name>mapred.output.compression.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value></property>

 

YARN中设置

 

Hadoop平台设置 mapred-site.xml

<property><name>mapreduce.map.output.compress</name><value>true</value></property>
<property><name>mapreduce.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value></property>
<property><name>mapreduce.output.fileoutputformat.compress</name>
<value>true</value></property>
<property><name>mapreduce.output.fileoutputformat.compress</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value></property>

 

其他压缩,如:

Parquet+Snappy

set parquet.compression=SNAPPY;

# 或者建表时
..
STORED AS parquet tblproperties("parquet.compression"="SNAPPY");

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

訾零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值