Main¶
Main is the standalone application that is launched from spark-class shell script.
Launching Application¶
void main(
String[] argsArray)
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 Command: [cmd]
========================================
SPARK_PRINT_LAUNCH_COMMAND
printLaunchCommand is controlled by SPARK_PRINT_LAUNCH_COMMAND environment variable.