在主类中Spark-submit主url和SparkSession主url,有什么区别?

Que*_*tin 5 apache-spark

当使用spark-submit提交作业时,我设置主URL并给他一个主类,例如:

spark-submit --class WordCount --master spark://spark:7077 my.jar

但是在这个主类中我的spark上下文定义了另一个主url:

SparkSession.builder().appName("Word2vec").master("local").
Run Code Online (Sandbox Code Playgroud)

这让我感到困惑,如果我将作业发送给spark-submit一个独立集群(spark://spark:7077)SparkSessionlocal主人,并与主人一起开始,会发生什么?

在群集上执行时,SparkSession主URL 是否应始终与spark-submiturl 相同?

zer*_*323 6

这些属性之间没有区别。如果两者都设置,则直接在应用程序中设置的属性优先。引用文档

任何指定为标志或属性文件中的值都将传递给应用程序并与通过 SparkConf 指定的值合并。直接在 SparkConf 上设置的属性具有最高优先级,然后标志传递给 spark-submit 或 spark-shell,然后是 spark-defaults.conf 文件中的选项。自早期版本的 Spark 以来,一些配置键已被重命名;在这种情况下,旧的密钥名称仍然被接受,但比新密钥的任何实例的优先级都低。