不多说直接上干货!
Spark基本spark運行基本流程流程
TaskSet :一组关联的、相互之间没有shuffle 依赖关系的任务组成的任务集。
其中作业调度模块是基于任务阶段的高层调度模块它为每个Spark作业计算具有依赖关系的多个调度阶段(通常根据shuffle来划分),然后为每个阶段构建出一组具体的任务(通常會考虑数据的本地性等)然后以TaskSets(任务组)的形式提交给任务调度模块来具体执行。而任务调度模块则负责具体启动任务、监控和汇报任务spark运行基本流程情况
spark应用程序的spark运行基本流程架构:
由driver向集群申请资源,集群分配资源启动executor。driver将spark应用程序的代码和文件传送给executorexecutor上spark運行基本流程task,spark运行基本流程完之后将结果返回给driver或者写入外界
tracker记录executor在各个节点上产生的数据块。taskspark运行基本流程完之后将数据写入HDFS上戓者其他类型数据库里。
spark应用程序进行各种transformation的计算最后通过action触发job。提交之后首先通过sparkContext根据RDD的依赖关系构建DAG图DAG图提交给DAGScheduler进行解析,解析時是以shuffle为边界反向解析,构建stagestage之间也有依赖关系。这个过程就是对DAG图进行解析划分stage并且计算出各个stage之间的依赖关系。然后将一个个TaskSet提交给底层调度器在spark中是提交给taskScheduler处理,生成TaskSet
spark作业提交到执行
Driver的任务提交过程
Driver的任务提交过程
不多说直接上干货!
TaskSet :一组关联的、相互之间没有shuffle 依赖关系的任务组成的任务集。