Task 源码
org.apache.spark.executor.Executor.TaskRunner.run()
task反序列化
updateDependencies : 通过网络拉取依赖的文件、jar包,使用loader 加载获取的jar
执行 org.apache.spark.scheduler.Task 的 run( ) 构建TaskContext
执行 Task子类的 runTask(context)方法
.
ShuffleMapTask:
执行 rdd.iterator()-- 对分区执行我们定义的算子 :
writer.write(rdd.iterator(partition, context).asInstanceOf[Iterator[_ <: Product2[Any, Any]]])
ShuffleWriter 将结果经过 hashparttion分区之后 写入对应分区的 bucket
runTask 执行完返回 MapStatus ,
MapStatus: 记录task处理后的数据存储在哪里 其实就是BlockManager相关信息
ResultTask:
反序列化
执行我们定义的算子
task执行 统计信息 --- 这些信息会反映到 sparkUI 的 4040
taskScheduler 更新task状态---CoarseGrainedClusterMessages.StatusUpdate
调用 org.apache.spark.scheduler.TaskSchedulerImpl#statusUpdate 根据状态更新
相关推荐
### Spark源码解析:Master与Worker机制 #### Spark概述及特点 Spark是一个高效的数据处理框架,它由加州大学伯克利分校的AMP实验室研发。该框架支持多种编程语言(包括Java、Scala、Python和R等),使开发者可以...
Spark 学习之路,包含 Spark Core,Spark SQL,Spark Streaming,Spark mllib 学习笔记 * [spark core学习笔记及代码 * [spark sql学习笔记及代码 * [spark streaming学习笔记及代码 Spark 消息通信 ### Spark ...
《Spark大数据商业实战三部曲》...总的来说,《Spark大数据商业实战三部曲》的源码和资料集合,为学习和掌握Spark提供了丰富的实践素材,无论是初学者还是有经验的开发者,都能从中受益,提升大数据处理和分析的能力。
《Spark源码学习笔记》是针对大数据处理框架Spark进行深入研究的资料,主要涵盖了Spark的核心设计理念、架构原理以及源码解析。本笔记旨在帮助读者理解Spark如何高效地处理大规模数据,提升数据分析和处理的能力。 ...
《Spark 2.1.1:深度解析与源码阅读笔记》 Spark作为一个开源的分布式计算框架,以其高效、易用和灵活性深受大数据处理领域的欢迎。Spark 2.1.1是其发展中的一个重要版本,它在性能优化、功能增强以及稳定性上都有...