Hive存储优化之Cluster By + Parquet

本文探讨了在大数据业务场景下,如何通过Hive的Cluster By语句结合Parquet列存储格式,优化数据存储,实现更高的压缩比。介绍了Distribute By、Sort By和Cluster By的基础知识,并提供了优化示例。
摘要由CSDN通过智能技术生成

场景:

        在业务场景中,会经常有join或者group by操作,这样会使数据打散,使Parquet无法达到最大的压缩比,使用Cluster By使相同的key聚合排序,达到Parquet最大的压缩比

基础知识:要熟悉以下概念,简单介绍一下

Distribute By:reduce阶段key值聚合分发

Sort By:分组排序

Cluster By = Distribute By + Sort By

Parquet:列存储模式 + 列压缩

优化示例:

CREATE TABLE IF NOT EXISTS tmp.test(
    id            string COMMENT ,
    feature       string COMMENT ,
    value         string COMMENT 
)
PARTITIONED BY (
    data_date     bigint COMMENT '时间分区'
);

INSERT OVERWRITE TABLE tmp.test partition(data_date=001)
SELECT id, alias_name, value
FROM (
    SELECT alias_name, feature
    FROM tmp.mapping
    WHERE data_date = 20200618
) a
JOIN (
    SELECT id, feature, value
    FROM tmp.source
    WHERE data_date = 20200706
) b
ON a.feature = b.feature;



INSERT OVERWRITE TABLE tmp.test partition(da
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值