spark运行的基本流程
内容提要
本文总结了《Spark大数据处理:技术、应用与性能优化》一书中关于Spark运行流程的内容,介绍了Spark的核心组件和RDD Graph、Job、Stage和Task的概念及其在Spark中的作用,讨论了Stage的划分、Shuffle机制以及Stage和Task的调度方式。建议有兴趣的读者阅读原书了解更多内容。
关键要点
-
本文总结了《Spark大数据处理:技术、应用与性能优化》一书中关于Spark运行流程的内容。
-
Spark的核心组件包括ClusterManager、Application、Driver、Worker和Executor。
-
RDD是Spark的核心结构,通过Transformation和Action操作形成RDD Graph。
-
Job是由Spark Action算子触发的作业,包含多个Stage。
-
Stage根据RDD的宽窄依赖关系划分,每个Stage包含一组并行的Task。
-
Task对应于RDD中每个分区的操作,执行后放入Executor的线程池中。
-
Spark采用Master-Slave模型,Master控制集群,Worker负责计算,Executor执行任务。
-
Spark的整体流程包括Client提交应用、Master启动Driver、Driver申请资源并转化为RDD Graph。
-
Stage的划分基于宽窄依赖,宽依赖会引起shuffle,影响Stage的划分。
-
DAGScheduler负责Stage的调度,TaskScheduler管理Task的执行和资源分配。
-
Shuffle机制用于在分布式环境中重新组合数据,以满足不同计算需求。
-
本文仅为Spark运行机制的简单总结,建议读者阅读原书以获取更详细的信息。