感谢逃出你的肖生克文章指导。

一般在命令行我们会以spark-submit来提交自己的代码,并会以这个形式提交
./bin/spark-submit \
--class <main-class> \
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
代码提交到spark后大概会有三个流程。
1.找到或是设置spark_home变量
2.设置相关相关的一些环境变量,并把参数解析
3.执行我们提交的程序
具体实例参见
https://blog.csdn.net/do_yourself_go_on/article/details/75005204
对部分进行注释补充:
build_command() {"$RUNNER"-Xmx128m -cp" $LAUNCH_CLASSPATH" org.apache.spark.launcher.Main "$@" printf"%d\0"$?}
该操作是spark-class中将参数解析的操作,增加$LAUNCH_CLASSPATH" 是为了给Main程序验证是否是该操作,解析时会把参数都打印到命令端,并把参数放入数组返回。
网友评论