Main¶
Main is the standalone application that is launched from spark-class shell script.
Launching Application¶
Note
main requires that at least the class name (className) is given as the first argument in the given argsArray.
For org.apache.spark.deploy.SparkSubmit class name, main creates a SparkSubmitCommandBuilder and builds a command (with the SparkSubmitCommandBuilder).
Otherwise, main creates a SparkClassCommandBuilder and builds a command (with the SparkClassCommandBuilder).
| Class Name | AbstractCommandBuilder |
|---|---|
org.apache.spark.deploy.SparkSubmit | SparkSubmitCommandBuilder |
| anything else | SparkClassCommandBuilder |
In the end, main prepareWindowsCommand or prepareBashCommand based on the operating system it runs on, MS Windows or non-Windows, respectively.
Building Command¶
List<String> buildCommand(
AbstractCommandBuilder builder,
Map<String, String> env,
boolean printLaunchCommand)
buildCommand requests the given AbstractCommandBuilder to build a command.
With printLaunchCommand enabled, buildCommand prints out the command to standard error:
SPARK_PRINT_LAUNCH_COMMAND
printLaunchCommand is controlled by SPARK_PRINT_LAUNCH_COMMAND environment variable.