01 2021 档案
摘要:Shuffle的写流程 ShuffleMapTask类中的runTask方法中含有一个写处理器: shuffleWriterProcessor 它执行写操作的启动操作,即执行write方法,在write方法方法中还含有一个Shuffle管理器: val manager = SparkEnv.
阅读全文
摘要:任务的调度 关于任务的调度逻辑依然在submitMissingTasks方法中,在任务的划分之后,会生成一个任务的任务的集合,即: val tasks: Seq[Task[_]] 该集合中包含的正是当前阶段中所有的任务。任务划分之后,程序会继续向下执行: if (tasks.nonEmpty
阅读全文
摘要:任务的划分 DAGScheduler类的handleJobSubmitted方法中,有一个提交阶段的的方法: var finalStage: ResultStage = null …… finalStage = createResultStage(finalRDD, func, partitio
阅读全文
摘要:阶段的划分 SparkContext对象包含有一个私有属性DAGScheduler阶段调度器,主要用于阶段的划分。在一个应用程序中,任务的提交都是从行动算子触发的。行动算子的方法内部会调用一个runJob方法,其中就有DAG调度器发挥运行Job的作用: dagScheduler.runJob(r
阅读全文

浙公网安备 33010602011771号