发布网友 发布时间:2022-04-23 20:27
共1个回答
热心网友 时间:2023-10-09 01:05
Spark提交程序来说,最终都是通过Spark-submit命令来实现的,不同的是spark-shell在运行时,会先进行一些初始参数的设置,然后调用Sparksubmit来运行,并且spark-shell是交互式的。
下面我们从源代码的角度来解释。
首先看下Spark-Shell命令,其中它会调用main方法
在mian方法中,会调用spark-submit 并传入—class的参数(入口类)为org.apache.spark.repl.Main,设置应用程序名—name “Spark shell” 传入spark-shell接收的所有参数$@。
而在Spark-submit中是通过exec命令启动进程的,如下图:
总结:所用的应用程序最后的提交都是由spark-submit完成的,其他程序的调用只是对spark-submit的参数进行设置后,调用spark-submit来完成应用程序的提交到集群的操作。