开发者社区> 问答> 正文

MaxCompute SQL优化与大数据开发套件是什么?

MaxCompute SQL优化与大数据开发套件是什么?

展开
收起
芯在这 2021-12-12 23:47:14 824 0
1 条回答
写回答
取消 提交回答
  • 大数据开发套件提供了直观的数据操作入口,数据研发过程代码的编写,调试,优化,发布都可以在大数据开发套件中进行。 拿一个任务耗时过长作例子,看看在大数据开发套件上我们是怎么处理碰到的问题的。

    一个task执行时间过长,除掉本身代码的性能问题,那么有两种比较大的可能: 一种是等待问题,一种是数据倾斜问题 等待问题可能是由于系统资源不足,系统繁忙,优先级不够,数据量太大,碰到了坏盘等原因导致的 我们可以通过调整优先级,重跑,过滤初始数据等方法来处理。

    倾斜问题则一般是数据本身的问题,常见的数据倾斜是怎么造成的? Shuffle的时候,将各个节点上相同的key拉取到某个节点的一个task进行处理,比如按照key进行聚合或join等操作,如果某个key对应的数据量特别大的话,就会发生数据倾斜现象。数据倾斜就成为了整个task运行时间的短板。

    触发shuffle的常见算子:distinct、groupBy、join等。

    要解决数据倾斜的问题,首先要定位数据倾斜发生在什么地方,首先是哪个stage,直接在D2 UI上看就可以,查看数据是否倾斜了 logview--odps task--detail--stage--longtail

    根据stage日志,判断出数据倾斜发生在哪个算子上。

    根据倾斜发生的阶段,我们又可以把它们分为map倾斜,reduce倾斜,join倾斜

    2021-12-12 23:47:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data+AI时代大数据平台应该如何建设 立即下载
大数据AI一体化的解读 立即下载
极氪大数据 Serverless 应用实践 立即下载