整体来说,driver执行的就是除了RDD算子中的代码块以外的所有代码块,并且只执行一次。但是这个也不是绝对的,因为在RDD算子中不对RDD做操作的部分(比如println("aa"))也会在driver中进行执行只不过这部分代码在driver上是计算一次就执行一次。如下两图:

spark代码在driver还是executor上执行理解

spark代码在driver还是executor上执行理解

并且spark的每个batch在执行的时候也是先执行driver中的代码,然后遇到action操作再去划分DAG图将具体执行算子分发到各个executor上执行。

 

 

 

参考博文:

https://blog.csdn.net/tianyeshiye/article/details/87933009

相关文章:

  • 2022-12-23
  • 2021-09-20
  • 2022-12-23
  • 2021-07-03
  • 2021-08-29
  • 2021-07-31
  • 2021-09-24
  • 2021-11-02
猜你喜欢
  • 2022-12-23
  • 2021-11-12
  • 2021-06-06
  • 2021-08-10
  • 2021-04-15
  • 2021-07-26
  • 2021-12-13
相关资源
相似解决方案