Spark调优特殊case- Task倾斜

在这里插入图片描述
在这里插入图片描述
首先我们观察下上面的stage5, Task MaxTime=2.4Min, 但是stage5的整体耗时竟然可以达到55Min,
其实分区1000, 300个executor, 按照最大的TaskTime=2.4Min来估算所有Task运行完成时间, 那么时间应该是- 2.4Min * 3 + 2.4Min = 9.6Min
也就是最慢也就跑10分钟就能跑完整个stage, 但却跑了整整55分钟。

在这里插入图片描述
这里我们通过观察executor维度指标来观察, 发现大量的task的被集中到同一个executor上面,所以问题的根本是task的分配不均匀, 虽然后期spark的推理优化kill掉部分在executor运行较慢的task, 但是kill掉不合理的task不多, 整个task的分布还是很不合理。
这里主要跟一个计算概念有关, 就是让"数据离计算越近越好", 总之就是

  • memory > local file > same rack file > any file
  • 内存 > 本地文件 > 同一个机架的文件 > 可能在任何地方的文件
    所以Spark在task进行分配的时候, 也是秉承着这个原则, 但使用的术语不太一样, 这

相关推荐

  1. spark 的group by ,join数据倾斜

    2024-07-21 22:30:02       45 阅读
  2. Spark九:Spark之Shuffle

    2024-07-21 22:30:02       48 阅读
  3. spark sql 的join

    2024-07-21 22:30:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 22:30:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 22:30:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 22:30:02       45 阅读
  4. Python语言-面向对象

    2024-07-21 22:30:02       55 阅读

热门阅读

  1. 数学建模--灰色关联分析法

    2024-07-21 22:30:02       19 阅读
  2. 什么是 MLPerf?

    2024-07-21 22:30:02       20 阅读
  3. Docker

    2024-07-21 22:30:02       17 阅读
  4. 代码改进,模型优化,强化深度学习

    2024-07-21 22:30:02       20 阅读
  5. python 基础知识点(一)

    2024-07-21 22:30:02       18 阅读
  6. Python利用psutil库进行监控进程和资源

    2024-07-21 22:30:02       18 阅读
  7. SpringBoot RestHighLevelClient 按版本更新

    2024-07-21 22:30:02       20 阅读
  8. 跨域问题几种解决方法

    2024-07-21 22:30:02       21 阅读
  9. Python面试整理-文件处理

    2024-07-21 22:30:02       15 阅读
  10. 分式

    2024-07-21 22:30:02       18 阅读
  11. Spring WebFlux 介绍与效果演示示例

    2024-07-21 22:30:02       18 阅读
  12. django 需要修改的文件

    2024-07-21 22:30:02       22 阅读