Apache spark 来自多个配置文件的火花加载设置

Apache spark 来自多个配置文件的火花加载设置,apache-spark,Apache Spark,Spark从$Spark\u HOME/conf/Spark defaults.conf读取默认配置 在使用(比如)spark submit时,您还可以使用--properties file[file]命令行参数更改默认位置 我想做的是从一个文件中加载额外的参数,而不必替换默认参数。也就是说,我希望spark从spark defaults.conf加载属性,并从另一个文件加载更多属性。现在,如果两者都定义了属性,我更希望最后一个配置文件获胜 Spark中默认支持这一点吗?tl;No 如Spark

Spark从
$Spark\u HOME/conf/Spark defaults.conf
读取默认配置

在使用(比如)spark submit时,您还可以使用
--properties file[file]
命令行参数更改默认位置

我想做的是从一个文件中加载额外的参数,而不必替换默认参数。也就是说,我希望spark从
spark defaults.conf
加载属性,并从另一个文件加载更多属性。现在,如果两者都定义了属性,我更希望最后一个配置文件获胜

Spark中默认支持这一点吗?tl;No

如Spark中所述,以下是配置的优先顺序:

直接在SparkConf上设置的属性具有最高优先级,然后将标志传递给spark submit或spark shell,然后是spark-defaults.conf文件中的选项


有鉴于此,我将在我的驱动程序代码中加载自定义配置文件,并直接在
SparkConf
上设置我找到的任何内容。此处设置的任何内容都将优先于其他地方先前的任何配置。

很有意义,谢谢!似乎对于spark shell来说,你真的做不了多少。spark上下文已经在开始时创建,您不能再更改其配置参数来添加(比如)更多内核或更多执行器内存,因此这种方法适用于spark提交应用程序,但不适用于spark shell,对吗?我不会说,“spark shell您真的做不了多少。”它满足了社区的要求;如果有变更的需求,就会有票证和拉票请求。不管怎样,相同的文档链接说,“Spark shell和Spark submit工具支持两种动态加载配置的方法…”这意味着
Spark submit
和shell的配置是相同的。在启动sparkR会话时,是否有方法指定配置文件。为了找到这个问题的答案,本回复中引用的“优先顺序”与原始问题没有什么关系,原始问题是一种在不丢失spark-defaults.conf文件中的默认值的情况下,从附加配置文件添加/覆盖选定属性的方法。这似乎是不可能的,但文档中没有明确说明,也显然无法从引用的文本中推断出来。