@@ -58,7 +58,7 @@ private[spark] class SparkSubmitArguments(args: Seq[String]) {
5858 val sparkProperties : HashMap [String , String ] = new HashMap [String , String ]()
5959
6060 parseOpts(args.toList)
61- loadDefaults ()
61+ mergeSparkProperties ()
6262 checkRequiredArguments()
6363
6464 /** Return default present in the currently defined defaults file. */
@@ -79,9 +79,11 @@ private[spark] class SparkSubmitArguments(args: Seq[String]) {
7979 defaultProperties
8080 }
8181
82- /** Fill in any undefined values based on the current properties file or built-in defaults. */
83- private def loadDefaults (): Unit = {
84-
82+ /**
83+ * Fill in any undefined values based on the default properties file or options passed in through
84+ * the '--conf' flag.
85+ */
86+ private def mergeSparkProperties (): Unit = {
8587 // Use common defaults file, if not specified by user
8688 if (propertiesFile == null ) {
8789 sys.env.get(" SPARK_HOME" ).foreach { sparkHome =>
@@ -94,18 +96,20 @@ private[spark] class SparkSubmitArguments(args: Seq[String]) {
9496 }
9597 }
9698
97- val defaultProperties = getDefaultSparkProperties
99+ val properties = getDefaultSparkProperties
100+ properties.putAll(sparkProperties)
101+
98102 // Use properties file as fallback for values which have a direct analog to
99103 // arguments in this script.
100- master = Option (master).getOrElse(defaultProperties .get(" spark.master" ).orNull)
104+ master = Option (master).getOrElse(properties .get(" spark.master" ).orNull)
101105 executorMemory = Option (executorMemory)
102- .getOrElse(defaultProperties .get(" spark.executor.memory" ).orNull)
106+ .getOrElse(properties .get(" spark.executor.memory" ).orNull)
103107 executorCores = Option (executorCores)
104- .getOrElse(defaultProperties .get(" spark.executor.cores" ).orNull)
108+ .getOrElse(properties .get(" spark.executor.cores" ).orNull)
105109 totalExecutorCores = Option (totalExecutorCores)
106- .getOrElse(defaultProperties .get(" spark.cores.max" ).orNull)
107- name = Option (name).getOrElse(defaultProperties .get(" spark.app.name" ).orNull)
108- jars = Option (jars).getOrElse(defaultProperties .get(" spark.jars" ).orNull)
110+ .getOrElse(properties .get(" spark.cores.max" ).orNull)
111+ name = Option (name).getOrElse(properties .get(" spark.app.name" ).orNull)
112+ jars = Option (jars).getOrElse(properties .get(" spark.jars" ).orNull)
109113
110114 // This supports env vars in older versions of Spark
111115 master = Option (master).getOrElse(System .getenv(" MASTER" ))
0 commit comments