Spark-源码学习-SparkCore-调度机制-任务调度-Task 调度-任务执行结果处理 TaskResultGetter
一、概述
TaskResultGetter 用于对序列化的 Task 执行结果进行反序列化,以得到 Task 执行结果。TaskResultGetter 也可远程获取 Task 执行结果。
https://weread.qq.com/web/reader/10c326305afa9610cf5f1eckc9f326d018c9f0f895fb5e4?
https://weread.qq.com/web/reader/0c832fb05e12e40c8ca6190kd2d32c50249d2ddea18fb39
二、实现
三、处理 Task
3.1. 处理成功 Task
3.2. 处理失败 Task
$TaskResultGetter.enqueueFailedTask()$ 方法用于处理执行失败的 Task 的执行结果。
$enqueueFailedTask()$ 方法向 $getTaskResultExecutor$ 提交 Task 执行结果的任务:
- 对执行结果反序列化,得到类型为 TaskFailedReason 的失败原因。
- 调用 $TaskSchedulerImpl.handleFailedTask()$ 方法将失败的 Task 重新放入待处理的 Task 列表,并通知DAGScheduler 重新调度。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo