01 2021 档案

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