spark任务提交流程源码分析
我这里使用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任务提交流程源码分析相关推荐
- YOLOv3反向传播原理 之 全流程源码分析
YOLOv3反向传播原理 之 全流程源码分析 1.YOLOv3网络训练中反向传播主体流程 1.1 初始化 1.2 batch内梯度累加 1.3 network和layer 中的关键变量 2.YOLO层 ...
- spring bean创建过程源码分析(上)
大家好,我是@zzyang(小卓),一个热爱技术的90后.这篇文章主要是带大家了解一下spring bean的生命周期,对spring bean的创建过程源码分析.由于篇幅有限,这里说的都是主干流程, ...
- OkHttp原理流程源码分析
OkHttp已经是非常流行的android客户端的网络请求框架,我其实在项目中使用也已经好几年了,之前一直把重心放在如何快速的搞定业务上.迭代的效率上,这一点来讲,对于一个公司优秀员工是没有毛病的.但 ...
- 《深入理解Spark:核心思想与源码分析》——1.2节Spark初体验
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章,第1.2节Spark初体验,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 ...
- 《深入理解Spark:核心思想与源码分析》——第1章环境准备
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第1章环境准备,作者耿嘉安,更多章节内容可以访问云栖社区"华章社区"公众号查看 第1章 环 境 准 ...
- 【SRIO】5、Xilinx RapidIO核例子工程源码分析
目录 一.软件平台与硬件平台 二.打开例子工程 三.例子工程详解 3.1 工程概述 3.2 工程结构 3.3 工程分析 四.工程源码分析 3.1 顶层模块srio_example_top.v源码分析 ...
- 5.Xilinx RapidIO核例子工程源码分析
https://www.cnblogs.com/liujinggang/p/10091216.html 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:V ...
- 《深入理解Spark:核心思想与源码分析》——3.10节创建和启动ExecutorAllocationManager...
本节书摘来自华章社区<深入理解Spark:核心思想与源码分析>一书中的第3章,第3.10节创建和启动ExecutorAllocationManager,作者耿嘉安,更多章节内容可以访问云栖 ...
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...
最新文章
- 创建线程那么容易,为什么非要让我使用线程池?(深深深入剖析)
- BS4 keep on!
- Java中数组以及集合
- 去除le-table表格的hover效果
- C语言 全局变量 - C语言零基础入门教程
- linux firewalld
- ocelot 配置文件的动态更新
- N字霸气多空博弈大师能量潮拐点战法通达信 主图/副图/选股指标
- CSDN的第一节课的感想,nice!!!
- gradle系列-1-gradle -x test clean build
- Choco包管理工具安装
- 什么副业可以月赚1万元?做什么副业可以月入上万?
- C语言——计算某日是该年的第几天
- 【Latex 格式】Markdown或者LaTeX在单个字母上加一横、一点、两点、三角
- 明星热图|朱一龙环保主题大片出炉;李现为您开启新一年“红运”时刻;杨采钰成林清轩产品代言人...
- QTreeWidget去掉虚线框
- 原生JS实现球面展示特效
- NAND FLASH编程器烧录详解
- android wifi软开关,rfkill 无线设备软开关
- 程序员接私活经验总结
热门文章
- Stone Game, Why are you always there? HDU - 2999(sg定理)
- MFC+ODBC操作Access数据库pdf版
- MySQL 视图的基础操作(五)
- 关于用隐藏文字(图片替换文字)的更好的可用性方法
- OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
- JAVA-求整数序列中出现次数最多的数
- 福州三中 计算机竞赛,重磅快讯 | 刚刚,信息学奥赛世界金牌得主钟子谦凯旋!...
- java 池化_溯本求源: JAVA线程池工作原理
- Unexpected end of JSON input while parsing near '...kwrap:false,directo'
- elastic安装,简单配置