Hive零基础从入门到实战 进阶篇(二十) Hive常用调优

本文介绍了Hive的常见调优技巧,包括使用with as语法提高HQL可读性和效率,分区剪裁与列剪裁减少数据量,避免在where中使用函数,减少函数嵌套,利用group by替代distinct去重,优化join操作如小表放左边,保持key一致,以及运用MapJoin。此外,还讨论了数据倾斜问题及其解决方案,并给出了参数设置优化建议。
摘要由CSDN通过智能技术生成

目录

前言

1. HiveQL实现流程优化

1.1 使用with as语法

1.2 分区剪裁与列剪裁

1.3 where条件中尽量不要加函数

1.4 函数不要嵌套太多层

1.5 在每一个子查询中使用group by去重

1.6 join优化

1.6.1 小表放左边

1.6.2 key保持一致

1.6.3 Map join

1.6.4 多用left join

1.7 数据倾斜

2. 参数设置优化


前言

由于Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具,所以运行速度十分感人,有时候甚至慢到你怀疑人生。但其实只要你掌握一些常见的简单调优手段,就可以大幅提高Hive跑数的速度。本文会介绍一些常用的Hive调优小技巧,给整个进阶篇画上一个句号。

 

1. HiveQL实现流程优化

使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别,所以必须去掉原有关系型数据库下开发的一些固有思维。

 

1.1 使用with as语法

入门篇(十八)中已经介绍过with as的用法和优点,主要有以下几点:

  • 代替多层子查询,提高HQL语句的可读性;
  • 会将表预先加载入内存,代码运行效率高;
  • 可以将多次访
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

风影楼前

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

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

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

打赏作者

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

抵扣说明:

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

余额充值