Hive 优化--SQL执行顺序、Hive参数、数据倾斜 、优化
Hive 优化--SQL执行顺序、Hive参数、数据倾斜 、优化、_.-优快云博客
一、场景
如果某个key下记录数远超其他key,在join或group的时候可能会导致某个reduce任务特别慢。本文分析下join的场景。
本例子SQL如下:查询每个appid打开的次数,需要排除掉作弊的imei。
select appid,count(*)
from (
select md5imei,appid
from (
select t1.md5imei,t1.appid,t2.cheat_flags
from imei_open_app t1left outer joincheat_imei t2
on t1.md5imei=t2.md5imei
)t3
where t3.cheat_flagsis null
本文主要探讨Hive中的数据倾斜问题,特别是在SQL执行中的join和group操作。当某个key的记录数远超其他key时,可能导致任务卡住或超时。通过分析任务执行时间、任务Counter以及日志,可以识别数据倾斜。优化方案包括常规SQL优化、大小表join的broadcast+mapjoin、mapjoin以及针对大key的单独处理,还有调整Hive参数如增加reduce个数和优化内存设置。
订阅专栏 解锁全文
1044

被折叠的 条评论
为什么被折叠?



