我有一个简单的spark应用程序,它从配置文件中读取master:
new SparkConf()
.setMaster(config.getString(SPARK_MASTER))
.setAppName(config.getString(SPARK_APPNAME))
运行我的应用程序时会发生什么,如下所示:
spark-submit --class <main class> --master yarn <my jar>
我的主人会被覆盖吗?
我更喜欢以标准方式提供主服务器,所以我不需要在我的配置中维护它,但接下来的问题是如何直接从IDEA运行这个工作?这不是我的应用程序参数,而是spark-submit参数。
为了澄清我想要的最终产品应该:
当使用--master yarn在集群中运行时,将使用此配置
从IDEA运行时将使用本地[*]
答案 0 :(得分:2)
--master
的{{1}}选项,它会告诉火花哪个主人使用(你的情况下是纱线)。 spark-defaults.conf文件中spark-submit
的值也可以完成工作(优先级是spark.master
,然后是配置文件中的属性)--master
中传递一个VM参数,例如(https://stackoverflow.com/a/24481688/1314742)。
在IDEA中,我认为它没有太大的不同,您可以检查here以添加VM选项