我这里使用spark2.4.4版本;

1.入口脚本与入口类

进入org.apache.spark.deploy.SparkSubmit类的main方法

override def main(args: Array[String]): Unit = {//省略部分代码//提交submit.doSubmit(args)}

下一步

  def doSubmit(args: Array[String]): Unit = {//解析验证提及配置参数val appArgs = parseArguments(args)appArgs.action match {//提交case SparkSubmitAction.SUBMIT => submit(appArgs, uninitLog)//杀掉case SparkSubmitAction.KILL => kill(appArgs)case SparkSubmitAction.REQUEST_STATUS => requestStatus(appArgs)case SparkSubmitAction.PRINT_VERSION => printVersion()}}

下一步

private def submit(args: SparkSubmitArguments, uninitLog: Boolean): Unit = {def doRunMain(): Unit = {if (args.proxyUser != null) {val proxyUser = UserGroupInformation.createProxyUser(args.proxyUser,UserGroupInformation.getCurrentUser())try {proxyUser.doAs(new PrivilegedExceptionAction[Unit]() {override def run(): Unit = {runMain(args, uninitLog)}})} catch {case e: Exception =>//省略代码}} else {//一般在不设置proxyUser时,都走的这个分支runMain(args, uninitLog)}}if (args.isStandaloneCluster && args.useRest) {//省略代码} else {//非Standalone模式走这个分支doRunMain()}}

spark任务提交流程源码分析相关推荐

  1. YOLOv3反向传播原理 之 全流程源码分析

    YOLOv3反向传播原理 之 全流程源码分析 1.YOLOv3网络训练中反向传播主体流程 1.1 初始化 1.2 batch内梯度累加 1.3 network和layer 中的关键变量 2.YOLO层 ...

  2. spring bean创建过程源码分析(上)

    大家好,我是@zzyang(小卓),一个热爱技术的90后.这篇文章主要是带大家了解一下spring bean的生命周期,对spring bean的创建过程源码分析.由于篇幅有限,这里说的都是主干流程, ...

  3. OkHttp原理流程源码分析

    OkHttp已经是非常流行的android客户端的网络请求框架,我其实在项目中使用也已经好几年了,之前一直把重心放在如何快速的搞定业务上.迭代的效率上,这一点来讲,对于一个公司优秀员工是没有毛病的.但 ...

  4. 《深入理解Spark:核心思想与源码分析》——1.2节Spark初体验

    本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章,第1.2节Spark初体验,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 ...

  5. 《深入理解Spark:核心思想与源码分析》——第1章环境准备

    本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章环境准备,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 第1章 环 境 准 ...

  6. 【SRIO】5、Xilinx RapidIO核例子工程源码分析

    目录 一.软件平台与硬件平台 二.打开例子工程 三.例子工程详解 3.1 工程概述 3.2 工程结构 3.3 工程分析 四.工程源码分析 3.1 顶层模块srio_example_top.v源码分析 ...

  7. 5.Xilinx RapidIO核例子工程源码分析

    https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...

  8. 《深入理解Spark:核心思想与源码分析》——3.10节创建和启动ExecutorAllocationManager...

    本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第3章,第3.10节创建和启动ExecutorAllocationManager,作者耿嘉安,更多章节内容可以访问云栖 ...

  9. Android系统默认Home应用程序(Launcher)的启动过程源码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

最新文章

  1. 创建线程那么容易,为什么非要让我使用线程池?(深深深入剖析)
  2. BS4 keep on!
  3. Java中数组以及集合
  4. 去除le-table表格的hover效果
  5. C语言 全局变量 - C语言零基础入门教程
  6. linux firewalld
  7. ocelot 配置文件的动态更新
  8. N字霸气多空博弈大师能量潮拐点战法通达信 主图/副图/选股指标
  9. CSDN的第一节课的感想,nice!!!
  10. gradle系列-1-gradle -x test clean build
  11. Choco包管理工具安装
  12. 什么副业可以月赚1万元?做什么副业可以月入上万?
  13. C语言——计算某日是该年的第几天
  14. 【Latex 格式】Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
  15. 明星热图|朱一龙环保主题大片出炉;李现为您开启新一年“红运”时刻;杨采钰成林清轩产品代言人...
  16. QTreeWidget去掉虚线框
  17. 原生JS实现球面展示特效
  18. NAND FLASH编程器烧录详解
  19. android wifi软开关,rfkill 无线设备软开关
  20. 程序员接私活经验总结

热门文章

  1. Stone Game, Why are you always there? HDU - 2999(sg定理)
  2. MFC+ODBC操作Access数据库pdf版
  3. MySQL 视图的基础操作(五)
  4. 关于用隐藏文字(图片替换文字)的更好的可用性方法
  5. OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
  6. JAVA-求整数序列中出现次数最多的数
  7. 福州三中 计算机竞赛,重磅快讯 | 刚刚,信息学奥赛世界金牌得主钟子谦凯旋!...
  8. java 池化_溯本求源: JAVA线程池工作原理
  9. Unexpected end of JSON input while parsing near '...kwrap:false,directo'
  10. elastic安装,简单配置