Hive中文件存储格式(text,orc,parquet)

        hive中表的存储格式,不仅支持text文本格式,还支持其他很多格式。比如说ORC格式和parquet格式。hive在建表的时候通过stored as 指定格式,如果没有指定格式就默认为textfile格式。

        ORC和parquet是列式存储格式,底层是以二进制形式存储。数据存储效率极高,用于查询方便。

        hive默认的查询引擎是MapReduce,因此通常说的hive压缩是MapReduce压缩。压缩是指通过算法对数据进行重新编排,降低存储空间,无损压缩。

        MapReduce可以对数据在两个阶段进行压缩。

        map输出端,减少shuffle的数据量,提高shuffle时网络io的效率。

        reduce端,减少文件的大小,降低磁盘的存储空间。

        当然压缩会带来一些弊端,浪费时间,消耗CPU,内存,某些优秀的压缩算法需要钱。

        下面说明如何配置hive的压缩参数设置。

--设置Hive的中间压缩 也就是map的输出压缩
1)开启 hive 中间传输数据压缩功能
set hive.exec.compress.intermediate=true;
2)开启 mapreduce 中 map 输出压缩功能
set mapreduce.map.output.compress=true;
3)设置 mapreduce 中 map 输出数据的压缩方式
set mapreduce.map.output.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;

--设置Hive的最终输出压缩,也就是Reduce输出压缩
1)开启 hive 最终输出数据压缩功能
set hive.exec.compress.output=true;
2)开启 mapreduce 最终输出数据压缩
set mapreduce.output.fileoutputformat.compress=true;
3)设置 mapreduce 最终数据输出压缩方式
set mapreduce.output.fileoutputformat.compress.codec =org.apache.hadoop.io.compress.SnappyCodec;
4)设置 mapreduce 最终数据输出压缩为块压缩  还可以指定RECORD
set mapreduce.output.fileoutputformat.compress.type=BLOCK;  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值