Apache spark 如何访问spark submit提供的非应用程序参数?

Apache spark 如何访问spark submit提供的非应用程序参数?,apache-spark,Apache Spark,从链接: /bin/spark提交\ --阶级\ --主人\ --部署模式\ --形态=\ ... # 其他选择 \ [应用程序参数] main类中的scala代码如何访问应用程序jar之前指定的参数?这是不可能的。您可以做的最接近的事情是从SparkSession对象获取spark submit示例中定义的属性值 spark.conf.get("spark.master") //master spark.conf.get("spark.submit.deployMode") //deploy

从链接:

/bin/spark提交\
--阶级\
--主人\
--部署模式\
--形态=\
... # 其他选择
\
[应用程序参数]

main类中的scala代码如何访问
应用程序jar
之前指定的参数?

这是不可能的。您可以做的最接近的事情是从SparkSession对象获取spark submit示例中定义的属性值

spark.conf.get("spark.master") //master
spark.conf.get("spark.submit.deployMode") //deploymode
this.getClass.getClassName // main class :) 

或者围绕spark submit创建一个包装器脚本,将所有参数作为应用程序参数传递给主类

我们需要访问这些变量才能创建SparkSession对象:)为什么?因为我们想根据我们运行的执行器和内核的数量来设置spark.cassandra.output.throughput_mb_/s,您是指非spark变量吗?
spark.conf.get("spark.master") //master
spark.conf.get("spark.submit.deployMode") //deploymode
this.getClass.getClassName // main class :)