`

spark-学习笔记--27 Task 源码

 
阅读更多

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源码阅读笔记

    ### Spark源码解析:Master与Worker机制 #### Spark概述及特点 Spark是一个高效的数据处理框架,它由加州大学伯克利分校的AMP实验室研发。该框架支持多种编程语言(包括Java、Scala、Python和R等),使开发者可以...

    Spark 学习之路,包含 Spark Core,Spark SQL,Spark Streaming,Spark mllib 学

    Spark 学习之路,包含 Spark Core,Spark SQL,Spark Streaming,Spark mllib 学习笔记 * [spark core学习笔记及代码 * [spark sql学习笔记及代码 * [spark streaming学习笔记及代码 Spark 消息通信 ### Spark ...

    spark大数据商业实战三部曲源码及资料.zip

    《Spark大数据商业实战三部曲》...总的来说,《Spark大数据商业实战三部曲》的源码和资料集合,为学习和掌握Spark提供了丰富的实践素材,无论是初学者还是有经验的开发者,都能从中受益,提升大数据处理和分析的能力。

    spark-source-code-learn-note:火花学习笔记-spark source code

    《Spark源码学习笔记》是针对大数据处理框架Spark进行深入研究的资料,主要涵盖了Spark的核心设计理念、架构原理以及源码解析。本笔记旨在帮助读者理解Spark如何高效地处理大规模数据,提升数据分析和处理的能力。 ...

    spark-2.1.1:spark原始物走读注解解

    《Spark 2.1.1:深度解析与源码阅读笔记》 Spark作为一个开源的分布式计算框架,以其高效、易用和灵活性深受大数据处理领域的欢迎。Spark 2.1.1是其发展中的一个重要版本,它在性能优化、功能增强以及稳定性上都有...

Global site tag (gtag.js) - Google Analytics