hiveSQL脚本性能优化-减少表扫描

哈喽朋友们,今天上班滕总又遇到了问题,为什么他加了几段代码以后,ETL脚本(HiveSQL)就跑不动了?

需求场景就不赘述了,单从技术角度分析。

我问他ApplicationID是多少?他说没看到,直接报code1了。我看下日志是Tez报错了,代码都没提交到Yarn

Tez报错内容是:Dag submit failed due to Java heap space

很显然是Tez内存溢出了,我在想是代码太复杂了它优化不了执行计划?

然后用explain想看下执行计划,结果执行计划都卡的打不出来。

然后从ETL的上一个版本开始一块一块断点刷执行计划,定位到具体代码块以后发现,是一大段union all导致的

试过过滤空值,没什么效果。

最后发现是大量重复扫描表,果断换了写法,注释大量union all 关联条件收敛到on 后面 用 or 区分,执行计划能打出来了,问题解决了。

结语:这是一个处理复杂组织合并问题是遇到的一个多层次关联案例。正常写法确实直接union all 的话逻辑看上去会更清晰,考虑下分布式计算引擎的特点就不会这样写了,减少表扫描的次数确实给Tez减负了,扫一次就行。

相关推荐
RFID科技的魅力2 小时前
RFID资产管理系统选型避坑指南:从需求梳理到落地验证
大数据·人工智能·物联网·rfid
小猴子下山1233 小时前
2026年无锡细胞存储市场格局观察:四家企业的传承脉络与业务分野
大数据·人工智能·精选
2503_931712483 小时前
中小学课桌椅/报告厅座椅/大学教室桌椅/校园课桌椅/高校阶梯教室排椅公司优选
大数据
蓝速科技4 小时前
蓝速科技三色灯光会议预约门牌深度评测
大数据·人工智能·科技
Data-Miner4 小时前
某集团数字化转型蓝图规划:94页案例ppt深度拆解!
大数据
QiLinkOS5 小时前
第三视觉理解徐玉生与他的商业活动(28)
大数据·c++·人工智能·算法·开源协议
2401_859506246 小时前
AIGC赋能大漆摆件设计:从痛点分析到技术架构与实战验证
java·大数据·人工智能
堆焊工艺分享6 小时前
2026-2030工业堆焊行业发展趋势:从维修辅业到智造核心工艺
大数据·人工智能
littlebigbar6 小时前
功能测试中的“精准打击“:避免大而全的实用策略 (2)
大数据
Geeys7 小时前
淘宝电商运营新手入门完整教程|零基础开店引流
大数据·网络·人工智能