Spark修炼之道(高级篇)——Spark源码阅读:第九节 Task执行成功时的结果处理

  • 时间:
  • 浏览:1
  • 来源:uu快3电脑版_uu快3和值_礼金

DriverEndpoint中的receive辦法 接收并处理发送过来的StatusUpdate消息,具体源码如下:

DAGScheduler.handleTaskCompletion辦法 完成计算结果的处理

对于Task执行成功的情况报告,它会调用TaskResultGetter的enqueueSuccessfulTask辦法 进行处理:

TaskSchedulerImpl中的statusUpdate辦法 源码如下:

TaskSchedulerImpl中的handleSuccessfulTask辦法 将最终对计算结果进行处理,具有源码如下:

进入DAGScheduler的taskEnded辦法

执行流程:

1. org.apache.spark.executor.TaskRunner.statusUpdate辦法

2. org.apache.spark.executor.CoarseGrainedExecutorBackend.statusUpdate辦法

3. org.apache.spark.scheduler.cluster.CoarseGrainedSchedulerBackend#DriverEndpoint.recieve辦法 ,DriverEndPoint是内控 类

4. org.apache.spark.scheduler.TaskSchedulerImpl中的statusUpdate辦法

5. org.apache.spark.scheduler.TaskResultGetter.enqueueSuccessfulTask辦法

6. org.apache.spark.scheduler.DAGScheduler.handleTaskCompletion辦法

情况报告更新时,先调用的是CoarseGrainedExecutorBackend中的statusUpdate辦法

TaskSetManager.handleSuccessfulTask辦法 源码如下:

在上一节中,给出了Task在Executor上的运行代码演示,我们都歌词 都知道代码的最终运行通过的是TaskRunner辦法

跳转到onReceive辦法 当中,可否 看完其调用的是onReceive

跳转到doOnReceive辦法 到当中,可否 看完