HIVE小检验:

(一) 知识储备

(测试版本为基于Ambari2.5.1的hive1.2.1000)

1、压缩格式

执行命令:set io.compression.codecs;查看目前hive已加载的编解码器

压缩

GzipCodec:压缩后的文件不支持split,压缩后为.gz文件
DefaultCodec:压缩后文件为.deflate文件
SnappyCodec:压缩后的文件不支持split,压缩后为.snappy压缩文件
实际使用时需要综合考虑CPU资源和磁盘I/O开销,压缩率高的CPU开销大


  • 压缩对比:

压缩1

  • 选择

这里写图片描述

  • 中间数据压缩

    • 对中间数据进行压缩可以减少job中map到reduce间的数据传输量,官方说这个阶段选择一个CPU开销比较低的编/解码器比较重要(暂未搞懂为什么)。
    • hive.exec.compress.intermediate:默认该值为false,设置为true为激活中间数据压缩功能。
    • 然后设置编/解码器:set
      hive.intermediate.compression.codec=org.apache.Hadoop.io.compress.SnappyCodec;
    • 也可以如下图所示,直接设置map输出结果压缩实现,如set mapred.map.output.compression.codec=org.apache.Hadoop.io.compress.SnappyCodec来代替set hive.intermediate.compression.codec这个语句
      这里写图片描述
  • 最终输出结果压缩

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

2存储格式

因浏览器异常退出,大量的心血没有及时保存。。。心痛,没有再重写
因浏览器异常退出,大量的心血没有及时保存。。。心痛,没有再重写
过段时间把这个不合格的博客删掉

(i)常见存储格式

1.Textfile
2. SequenceFile
3. RCFile
4. ORCFile
5. Parquet
6. Avro
7. 自定义格式


  • Textfile:

  • Hive数据表的默认格式,存储方式:行存储。
  • 数据不做压缩,磁盘开销大,数据解析开销大。 可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,Hive不会对数据进行切分, 从而无法对数据进行并行操作。
  • 在反序列化过程中,必须逐个字符判断是不是分隔符和行结束符,因此反序列化开销会比SequenceFile高几十倍。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值