举例说明 如何判断Spark作业的瓶颈

  • 首先看哪个Job执行时间长:
    例如下图中明显Job 2时间执行最长,这个对rdd作业是直观有效的。
    对于sql作业可能不准确,sql需要关注stage的详情耗时。
  • 然后看执行时间长的Job中哪个stage执行时间长:
    明显stage 7和stage 13执行时间长(这个不一定百分百准确,这个包含等待调度的时间,可以点击stage链接查看详情耗时)

    所以stage7的REPARTITION和stage13的join是瓶颈。
    stage7是不必要的,因为join是会根据key再分区,REPARTITION没有意义。
  • 怎么确定stage 13到底是什么代码导致的慢呢?

    途中有四个算子,reduceByKey、Join都有可能导致数据倾斜,flatMap和map可能导致数据膨胀或者自定义逻辑慢,当前上图中的map是 HDFSIO的逻辑,比较简单。
    • 数据倾斜:

      没有明显倾斜,但是:
      第一:执行时间有长有短:通过分析数据,基本与gc时间有关;
      第二:gc时间差异明显:可能与自定义代码逻辑有关系;
      第三:内存溢出有大有小:可能与聚合逻辑有关系;
      第四:内存使用峰值有明显区别。
      综上,怀疑的范围主要是:reduceByKey的处理逻辑、join个别key可能比较集中一点点、flatmap逻辑存在问题导致内存紧张
      还有一种情况是代码逻辑中有慢操作,例如请求外部接口、迭代计算、复杂低效的逻辑都可以通过运行时的threaddump或者结束后的pmap.log来判断。具体可以看:https://blog.csdn.net/weixin_38643743/article/details/139721055
相关推荐
计算机毕业编程指导师19 分钟前
【计算机毕设选题推荐】基于Hadoop+Spark的诺贝尔奖可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·诺贝尔奖
计算机毕业编程指导师22 分钟前
基于Spark的性格行为数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·python·数据挖掘·数据分析·spark·毕业设计·性格行为
渔民小镇28 分钟前
4 行代码接入 Spring —— ionet 的生态融合之道
java·服务器·分布式·游戏
tang7778932 分钟前
爬虫爬公开数据被封?实测有效!从原因排查到落地解决全指南
大数据·爬虫·python·网络爬虫·ip
User_芊芊君子1 小时前
从 0 到 1 学 MySQL:索引原理、事务特性、视图用法与 JDBC 实操全解析
大数据·数据库·mysql
2601_956743681 小时前
上海大模型应用开发费用、靠谱度与服务商选择:一份真实可用的参考指南
大数据·人工智能
苍煜1 小时前
Kafka vs RocketMQ 生产环境选型指南
分布式·kafka·rocketmq
紧固视界1 小时前
想找紧固件设备?6月就来上海紧固件专业展
大数据·人工智能·上海紧固件展·紧固件展·上海紧固件专业展
captain_AIouo2 小时前
数据驱动运营,Captain AI打造OZON全链路数据闭环
大数据·人工智能·经验分享·aigc
AI大法师2 小时前
从门头到社媒预热图,快闪项目如何统一视觉输出
大数据·人工智能·设计模式