我是靠谱客的博主 会撒娇蜡烛,这篇文章主要介绍Spark之Spark submit脚本到底干了什么?,现在分享给大家,希望可以做个参考。

Spark之Spark submit脚本到底干了什么?
经常我们在提交Spark任务时,我们很自然的去想到"这个我知道,Spark submit,然后他的参数是--------(吧啦吧啦一大片)"
在这里插入图片描述

可曾想到 到底Spark submit这个脚本到底经历了一个怎么样的过程呢?
话不多说 直接上源码
在这里插入图片描述

从源码上看是执行了spark_home下的/bin/spark-class这个脚本,我们进入spark-class这个脚本。
第一步找到java的环境变量路径:
在这里插入图片描述

第二步 找jar包
然后一直往下走,走到Main(调用org.apache.spark.launcher中的Main进行参数注入)
在这里插入图片描述

然后我们回到spark-submit脚本

在这里插入图片描述

我们去关注这个org.apache.spark.deploy.SparkSubmit这个类
在spark提交任务后就会执行org.apache.spark.deploy.SparkSubmit这个类的main方法:
先输出一些日志信息
在这里插入图片描述

调用doSubmit方法。

我们走进doSubmit方法:
在这里插入图片描述

doSubmit方法里做了这几件事:
初始化log对象
解析参数
根据参数列表中的参数类型执行对应任务

然后我们进去看看submit的流程:
在这里插入图片描述

最后走到runMain方法:
在这里插入图片描述

来了 走到了重点的地方

在这里插入图片描述
在这里插入图片描述

看着这个classForName有点眼熟,对不对。我们点进去看看->
在这里插入图片描述

然后后面就在反射----(后面省略10000字)
感谢大家!
关注我的微信公众号:
在这里插入图片描述

最后

以上就是会撒娇蜡烛最近收集整理的关于Spark之Spark submit脚本到底干了什么?的全部内容,更多相关Spark之Spark内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(94)

评论列表共有 0 条评论

立即
投稿
返回
顶部