Spark-submit执行流程是怎么样的


本篇文章给大家分享的是有关Spark-submit执行流程是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们在进行Spark任务提交时,会使用“spark-submit -class …..”样式的命令来提交任务,该命令为Spark目录下的shell脚本。它的作用是查询spark-home,调用spark-class命令。随后会执行spark-class命令,以SparkSubmit类为参数进行任务向Spark程序的提交,而Spark-class的shell脚本主要是执行以下几个步骤:(1)加载spark环境参数,从conf中获取(2)载入java,jar包等(3)调用org.apache.spark.launcher中的Main进行参数注入(4)shell脚本监测任务执行状态,是否完成或者退出任务,通过执行返回值,判断是否结束检测执行模式(class or submit)构建cmd,在submit中进行参数的检查(SparkSubmitOptionParser),构建命令行并且打印回spark-class中,最后调用exec执行spark命令行提交任务。通过组装而成cmd内容如下所示:(1)Spark任务在提交之后会执行SparkSubmit中的main方法(2)doSubmit()对log进行初始化,添加spark任务参数,通过参数类型执行任务:SUBMIT:使用提供的参数提交applicationKILL(Standalone and Mesos cluster mode only):通过REST协议终止任务REQUEST_STATUS(Standalone and Mesos cluster mode only):通过REST协议请求已经提交任务的状态PRINT_VERSION:对log输出版本信息(3)调用submit函数: 香港云主机doRunMain为集群调用子main class准备参数,然后调用runMain()执行任务invoke mainSpark在作业提交中会采用多种不同的参数及模式,都会根据不同的参数选择不同的分支执行,因此在最后提交的runMain中会将所需要的参数传递给执行函数。以上就是Spark-submit执行流程是怎么样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注开发云行业资讯频道。

相关推荐: 如何分析Elasticsearch中奇怪的查询命中数问题

这期内容当中小编将会给大家带来有关如何分析Elasticsearch中奇怪的查询命中数问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。业务部门反馈,在某个月份的索引中,当查询条件不变,仅添加一个索引前缀到请求中后,搜索返回…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 09/22 22:33
下一篇 09/22 22:33

相关推荐