hive性能优化

本文详细介绍了Hive的性能优化方法,涵盖逻辑设计、数据结构、执行配置和HQL四个方面。逻辑设计中强调了分步处理、增量处理、常用数据落地和避免多对多关联。数据结构优化包括分区、存储格式(推荐使用ORC格式)、中间结果压缩和数据索引。执行配置部分涉及执行引擎选择、并行执行、MapJoin、动态分区、控制Map与Reduce数以及合并小文件。HQL优化则涵盖查询裁剪、MapJoin、COUNT DISTINCT和UNION ALL等。通过这些策略,可以显著提升Hive的处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

包含4个方面的优化,分别是:逻辑设计,数据结构,执行配置,HQL

1.逻辑设计

包含分步处理,增量处理,常用数据落地,避免多对多关联

1.1分步处理

若需要处理复杂的业务逻辑,建议先将逻辑拆解成若干个步骤,然后分步编写,尽量避免出现多重嵌套的查询

1.2增量处理

如果历史信息变动不大,就尽量采用增量的方式处理数据,增量处理包括处理到时间分区,以及做增量合并两种方式

1.3常用数据落地

其实是工程化的思想,就是将常用的重复的数据,只生成一次并落地成表,后续需要就集中使用该表,避免重复造轮子

1.4避免多对多关联

从逻辑层面尽量避免出现笛卡尔积关联的情况,如果业务要求必须要有,就考虑通过增量的方式,尽量减少关联的数据体量

2.数据结构

主要包含分区、索引、存储格式

2.1分区(常见优化)

对能够增量存储的数据,建分区表,每次只处理单个分区的数据,建表时分区格式;
partitioned by(dt string)

2.2存储格式(目前统一使用orc格式)

文本类型以外的表,建议统一使用orc,parquet
新建的非导入/导出表,可以尝试改为orc存储格式,提升读写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

科学的N次方

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

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

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

打赏作者

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

抵扣说明:

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

余额充值