使用spark-submit提交作业时,我设置主URL并给他一个主要课程,例如:
spark-submit --class WordCount --master spark://spark:7077 my.jar
但是在这个主类中,我的spark上下文定义了另一个主URL:
SparkSession.builder().appName("Word2vec").master("local").
这让我感到困惑,如果我将spark-submit
的作业发送到以spark://spark:7077
开始SparkSession
的独立群集(local
)的主人,会发生什么?高手?
在群集上执行时,SparkSession
主网址是否始终与spark-submit
网址相同?
答案 0 :(得分:3)
这些属性之间没有区别。如果同时设置,则直接在应用程序中设置的属性优先。引用documentation:
指定为flags或属性文件中的任何值都将传递给应用程序,并与通过SparkConf指定的值合并。直接在SparkConf上设置的属性取最高优先级,然后将标志传递给spark-submit或spark-shell,然后选择spark-defaults.conf文件中的选项。自早期版本的Spark以来,已经重命名了一些配置键;在这种情况下,旧的密钥名称仍然被接受,但优先级低于新密钥的任何实例。