如何解决 JOB 运行效率低的问题。

如果遇到某些JOB运行时间较长,有哪些情况造成?有什么相对应的处理办法?

  • 原因:

    1. 数据倾斜导致效率低
    2. suffle 小文件太多或者分片数量过大
    3. map太多,reduce不够
    4. 单条记录开销大,导致spark变慢
    5. spark的吞吐量,单一节点的吞吐量
    6. 每一个步骤的RDD操作的空任务和小任务
    7. spark的序列化的时间较长
    8. suffle本身的io时间偏长
  • 解决方案:

    1. 如果有相同的RDD,使用一个RDD
    2. 做suffle的时候可以做一个顶聚合
    3. 优化序列化的问题
    4. 写程序的时候减少拆箱和装箱的过程
    5. 做资源调度,修改spark的yarn
    6. 大规模的改suffle 的过程,在execute 里改
    7. 调整数据倾斜,尽量少用这种比较倾斜的分片来做
posted @ 2022-12-03 15:17  不想emo的小李  阅读(452)  评论(0)    收藏  举报