bin/spark-submit -> SparkSubmit -> main -> submit -> doRunMain -> runMain -> mainClass.main
其中,/bin/spark-submit会call到SparkSubmit,并把参数传递给SparkSubmit,trigger main function
之后的所有动作都在SparkSubmit.scala中开展。
其中,doRunMain function中会准备整个Spark application的launch环境,并传给之后的函数调用。
其中
When run SparkSubmit --class [mainClass], SparkSubmit will call a childMainClass which is
1. client mode, childMainClass = mainClass
2. standalone cluster mde, childMainClass = org.apache.spark.deploy.Client
3. yarn cluster mode, childMainClass = org.apache.spark.deploy.yarn.Client
我们拿standalone来举例,Client object的main函数进行RPC调动,暂时无法得知其真正执行细节。
网友评论