1、在命令行执行提交命令时,在spark-submit脚本中,调用了SparkSubmit类中的mainMethod.invoke方法,这个类通过反射调用我们自定义的类

2、我们自定义类中的main方法开始执行,初始化了SparkConf和SparkContext,将 Driver 启动起来,同时构造出来DAGScheduler和TaskScheduler

3、Driver端会对我们的代码进行解析,执行到 Action 算子,这个阶段会产生 DAG 血缘依赖关系,但是并没有真正执行

4、执行 Action 算子,当程序触发action算子的时候就会产生一个job,会调用DagScheduler中的runjob方法来提交任务

5、DAGScheduler 会对提交的 Job 进行 Stage 切分 (程序会拿到最后一个rdd(finalRDD)来创建一个ResultStage,得到ResultStage之后,就正式的开始切分stage,从后往前遍历,一旦遇到窄依赖,就把rdd加入到当前的stage中,一旦遇到宽依赖,就会结束当前的stage,重新起动一个新的ShuffleMapStage。继续往前遍历,一直到rdd已经没有父依赖,整个切分结束)。

6、当切分完了stage之后,就开始调用submitStage提交stage(从最后一个ResultStage开始触发提交,进行深度优先遍历,从前向后提交)。

7、将stage调用模式匹配生成不同的task(程序会根据提交stage的不同,调用模式匹配生成ShuffleMapTask和ResultTask)。DagScheduler把当前提交的stage中的这么一些功能相同,处理的数据不同的task,组装成TaskSet将TaskSet发送给TaskScheduler

8、TaskScheduler会把TaskSet解压,生成task,然后把task进行序列化

9、TaskSchedule向Master注册Application,申请资源

10、Master收到Application的注册请求后,会根据自己的资源调度算法,在spark集群的worker上启动一个或多个Executor进程

11、TaskScheduler会把序列化好的task递交到Executor上面,Executor将task放入线程池进行运行。

12、执行结束后,将执行结果反馈给Driver 端,然后进行资源注销。

Spark执行流程详解相关推荐

  1. MySQL系列---架构与SQL执行流程详解

    文章目录 1. 背景 2. 架构体系 2.1 架构图 2.2 模块详解 2.3 架构分层 3. 查询SQL语句执行流程 3.1 连接 3.1.1 MySQL支持的通信协议 3.1.2 通信方式 3.2 ...

  2. statement执行insert into语句_【图文并茂】源码解析MyBatis ShardingJdbc SQL语句执行流程详解...

    源码分析Mybatis系列目录: 1.源码分析Mybatis MapperProxy初始化[图文并茂] 2.源码分析Mybatis MappedStatement的创建流程 3.[图文并茂]Mybat ...

  3. 19. OP-TEE中TA与CA执行流程详解-------软件架构篇

    历经一年多时间的系统整理合补充,<手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 >一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件, ...

  4. DHCP执行流程详解

    DHCP执行流程介绍 DHCP简介 DHCP大致执行流程 新主机向DHCP Server申请IP地址 DHCP Server将分配好的IP发送给新主机 新主机发送DHCP Request广播数据包,告 ...

  5. data spring 指定时区_Spring 框架基础(05):Mvc架构模式,执行流程详解

    本文源码:GitHub || GitEE 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面, ...

  6. spring mvc返回页面显示空白_Spring 框架基础(06):Mvc架构模式简介,执行流程详解...

    一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面,在改进和个性化定制界面及用户交互的同时,不 ...

  7. springmvc的执行流程详解

    1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式 2.springmvc执行流程详细介绍 第一步:发起请求到前端控制器(DispatcherServlet) ...

  8. Spring 框架基础(06):Mvc架构模式简介,执行流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集 ...

  9. .net mvc actionresult 返回字符串_Spring 框架基础(06):Mvc架构模式简介,执行流程详解

    一.SpringMvc框架简介 1.Mvc设计理念 MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个组件里面,在改进和个性化定制界面及用户交互的同时,不 ...

最新文章

  1. word2vec如何得到词向量
  2. tomcat点击startup.bat闪退解决办法
  3. CentOS7手动修改系统时间
  4. 很实用的jQuery事件 - toggle() 方法
  5. android选择头像弹窗,Android App开发常用功能之用户头像选择-Go语言中文社区
  6. C# 事务提交(非数据库)
  7. Linux下服务器搭建(1)——Linux下搭建FTP服务器 vsftpd服务
  8. Facebook 实时聊天架构日均处理数十亿条消息!
  9. [TensorRT] INTERNAL ERROR: Assertion failed: mem = nullpt
  10. C++ typeid输出类型
  11. 已会背诵英文文章 How To Boost Your Confidence
  12. 洛谷P3373 【模板】线段树 2
  13. errno ETIMEDOUT npm ERR! network request to https://registry.npmjs.
  14. 《CSS实战案例汇总》涟漪
  15. 一个学习小组有5个人,每个人有三门课的考试成绩。将各个数据保存到二维数组a[5][3]中,并求全组分科的平均成绩和总平均成绩
  16. RecyclerView添加表格分割线
  17. 特征工程常用于特征提取方法——数值特征
  18. pandas实现对dataframe随机抽样、分层抽样
  19. 【沉淀】从网络中间件到搜索,从移动开发到分布式计算平台,阿里高级专家李睿博谈自己的折腾路...
  20. 在Elasticsearch中回测阿隆(Aroon)指標交叉交易策略

热门文章

  1. 让机房温度可视化:物联网下的数据中心环境运维新方式
  2. 【计算机网络 一 概述】
  3. 数字货币钱包 HD Wallet的助记词和种子的生成原理(BIP39)
  4. iphone safaric中将mp4保存到本地相册
  5. PO模式实现Appium脚本封装
  6. xamarin Android activity生命周期详解
  7. android-17手机,安卓手机好评排行:魅族17第四,小米10至尊第六,第一名意料之中...
  8. 任务栏WPS出现多窗口预览?下载这个注册表就对了
  9. Python每日一练(20230301)
  10. python脚本实现GNSS数据自动下载