@@ -441,7 +441,6 @@ object SparkSubmit {
441441 OptionAssigner (args.deployMode, ALL_CLUSTER_MGRS , ALL_DEPLOY_MODES ,
442442 sysProp = " spark.submit.deployMode" ),
443443 OptionAssigner (args.name, ALL_CLUSTER_MGRS , ALL_DEPLOY_MODES , sysProp = " spark.app.name" ),
444- OptionAssigner (args.jars, ALL_CLUSTER_MGRS , CLIENT , sysProp = " spark.jars" ),
445444 OptionAssigner (args.ivyRepoPath, ALL_CLUSTER_MGRS , CLIENT , sysProp = " spark.jars.ivy" ),
446445 OptionAssigner (args.driverMemory, ALL_CLUSTER_MGRS , CLIENT ,
447446 sysProp = " spark.driver.memory" ),
@@ -452,27 +451,15 @@ object SparkSubmit {
452451 OptionAssigner (args.driverExtraLibraryPath, ALL_CLUSTER_MGRS , ALL_DEPLOY_MODES ,
453452 sysProp = " spark.driver.extraLibraryPath" ),
454453
455- // Yarn client only
456- OptionAssigner (args.queue, YARN , CLIENT , sysProp = " spark.yarn.queue" ),
454+ // Yarn only
455+ OptionAssigner (args.queue, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.queue" ),
457456 OptionAssigner (args.numExecutors, YARN , ALL_DEPLOY_MODES ,
458457 sysProp = " spark.executor.instances" ),
459- OptionAssigner (args.files, YARN , CLIENT , sysProp = " spark.yarn.dist.files" ),
460- OptionAssigner (args.archives, YARN , CLIENT , sysProp = " spark.yarn.dist.archives" ),
461- OptionAssigner (args.principal, YARN , CLIENT , sysProp = " spark.yarn.principal" ),
462- OptionAssigner (args.keytab, YARN , CLIENT , sysProp = " spark.yarn.keytab" ),
463-
464- // Yarn cluster only
465- OptionAssigner (args.name, YARN , CLUSTER , clOption = " --name" ),
466- OptionAssigner (args.driverMemory, YARN , CLUSTER , clOption = " --driver-memory" ),
467- OptionAssigner (args.driverCores, YARN , CLUSTER , clOption = " --driver-cores" ),
468- OptionAssigner (args.queue, YARN , CLUSTER , clOption = " --queue" ),
469- OptionAssigner (args.executorMemory, YARN , CLUSTER , clOption = " --executor-memory" ),
470- OptionAssigner (args.executorCores, YARN , CLUSTER , clOption = " --executor-cores" ),
471- OptionAssigner (args.files, YARN , CLUSTER , clOption = " --files" ),
472- OptionAssigner (args.archives, YARN , CLUSTER , clOption = " --archives" ),
473- OptionAssigner (args.jars, YARN , CLUSTER , clOption = " --addJars" ),
474- OptionAssigner (args.principal, YARN , CLUSTER , clOption = " --principal" ),
475- OptionAssigner (args.keytab, YARN , CLUSTER , clOption = " --keytab" ),
458+ OptionAssigner (args.jars, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.dist.jars" ),
459+ OptionAssigner (args.files, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.dist.files" ),
460+ OptionAssigner (args.archives, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.dist.archives" ),
461+ OptionAssigner (args.principal, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.principal" ),
462+ OptionAssigner (args.keytab, YARN , ALL_DEPLOY_MODES , sysProp = " spark.yarn.keytab" ),
476463
477464 // Other options
478465 OptionAssigner (args.executorCores, STANDALONE | YARN , ALL_DEPLOY_MODES ,
@@ -483,10 +470,11 @@ object SparkSubmit {
483470 sysProp = " spark.cores.max" ),
484471 OptionAssigner (args.files, LOCAL | STANDALONE | MESOS , ALL_DEPLOY_MODES ,
485472 sysProp = " spark.files" ),
486- OptionAssigner (args.jars, STANDALONE | MESOS , CLUSTER , sysProp = " spark.jars" ),
487- OptionAssigner (args.driverMemory, STANDALONE | MESOS , CLUSTER ,
473+ OptionAssigner (args.jars, LOCAL , CLIENT , sysProp = " spark.jars" ),
474+ OptionAssigner (args.jars, STANDALONE | MESOS , ALL_DEPLOY_MODES , sysProp = " spark.jars" ),
475+ OptionAssigner (args.driverMemory, STANDALONE | MESOS | YARN , CLUSTER ,
488476 sysProp = " spark.driver.memory" ),
489- OptionAssigner (args.driverCores, STANDALONE | MESOS , CLUSTER ,
477+ OptionAssigner (args.driverCores, STANDALONE | MESOS | YARN , CLUSTER ,
490478 sysProp = " spark.driver.cores" ),
491479 OptionAssigner (args.supervise.toString, STANDALONE | MESOS , CLUSTER ,
492480 sysProp = " spark.driver.supervise" ),
@@ -550,6 +538,10 @@ object SparkSubmit {
550538 if (args.isPython) {
551539 sysProps.put(" spark.yarn.isPython" , " true" )
552540 }
541+
542+ if (args.pyFiles != null ) {
543+ sysProps(" spark.submit.pyFiles" ) = args.pyFiles
544+ }
553545 }
554546
555547 // assure a keytab is available from any place in a JVM
@@ -576,9 +568,6 @@ object SparkSubmit {
576568 childMainClass = " org.apache.spark.deploy.yarn.Client"
577569 if (args.isPython) {
578570 childArgs += (" --primary-py-file" , args.primaryResource)
579- if (args.pyFiles != null ) {
580- childArgs += (" --py-files" , args.pyFiles)
581- }
582571 childArgs += (" --class" , " org.apache.spark.deploy.PythonRunner" )
583572 } else if (args.isR) {
584573 val mainFile = new Path (args.primaryResource).getName
@@ -627,7 +616,8 @@ object SparkSubmit {
627616 " spark.jars" ,
628617 " spark.files" ,
629618 " spark.yarn.dist.files" ,
630- " spark.yarn.dist.archives" )
619+ " spark.yarn.dist.archives" ,
620+ " spark.yarn.dist.jars" )
631621 pathConfigs.foreach { config =>
632622 // Replace old URIs with resolved URIs, if they exist
633623 sysProps.get(config).foreach { oldValue =>
0 commit comments