一、背景
首先需要掌握 Spark DAG、stage、task的相关概念
Spark的job、stage和task的机制论述 - 知乎
task数量和rdd 分区数相关
running task数=executor-core* num-executors (如果running task 没有达到乘积最大,一般是队列资源不足)
https://www.cnblogs.com/muyue123/p/14036648.html
二、任务慢的原因分析
找到运行时间比较长的stage
再进去看里面的task
可以看到某个task 读取的数据量明显比其他task 较大。
如果是sql 任务进入到 SQL 页面看到 对应的执行卡在哪里,然后分析,如下图是hash id、actor_name,可以看到是group by 数据有倾斜。
group by 数据倾斜问题,可以参考hive group by 数据倾斜问题同样处理思路。文章来源:https://www.toymoban.com/news/detail-776853.html
https://zhugezifang.blog.csdn.net/article/details/127447167文章来源地址https://www.toymoban.com/news/detail-776853.html
到了这里,关于Spark数据倾斜问题分析和解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!