一些 MaxCompute 日常优化案例分享

一些MaxCompute日常优化案例分享

作者:开七

一、前言

MaxCompute 优化是一个多样而又重要的过程,优化过程中若能够深入理解 ODPS 的工作原理和内部机制,才能够更明确的发现运行过程中存在的问题,这样才能更有针对性地进行优化,优化需要不断思考和尝试不同的想法和方法,适当的时候我们可以寻求平台技术人员帮助,以找到最适合的优化方案。

以下通过日常几个优化案例,最终优化手段可能非常简单,但其中的分析过程较为重要,希望对他人有所启发。

二、dmj 针对多 union 的一种优化

任务内容:多个表 union all 后对其中的一些表进行 distmapjoin 关联。

任务线上经常报内存不够,以往处理基本是增加内存,内存到 8192 后则增加 shard_count 数量来减少内存使用,此种治标不治本的手段无法根治问题,仔细分析执行任务图发现,其中对应的加工逻辑有多个 union all +distmapjoin,导致不合理的执行图如下:

图中可以看出一份数据对应 4 次分发(主表有 union all 四份数据),个人分析一个 distmapjoin 对应多路分发不合理,合理应该分发一份,但个人无法处理,寻求平台人员:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值