【问题标题】:Spark load settings from multiple configuration files来自多个配置文件的 Spark 加载设置
【发布时间】:2017-04-13 06:37:07
【问题描述】:

Spark 从$SPARK_HOME/conf/spark-defaults.conf 读取默认配置。

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

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

Spark 是否默认支持此功能?

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    tl;博士号

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

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

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

    【讨论】:

    • 有道理,谢谢!虽然对于 spark-shell 来说,你似乎不能做太多事情。 spark上下文已经在开始时创建了,你不能再改变它的配置参数来添加(比如说)更多的内核或更多的执行程序内存,所以这种方法适用于spark-submit应用程序但不适用于spark-shell,对吧?
    • 我不会说,“spark-shell 你真的无能为力。”它可以满足社区的要求;如果有更改的需求,就会有票证和拉取请求。无论如何,相同的文档链接说,“Spark shell 和 spark-submit 工具支持两种动态加载配置的方式......”这意味着 spark-submit 和 shell 的配置相同。跨度>
    • 有没有办法在启动 sparkR 会话时指定配置文件。寻找这个问题的答案stackoverflow.com/questions/49805162/…
    • 此响应中引用的“优先顺序”与原始问题几乎没有关系,这是一种从附加配置文件添加/覆盖选定属性而不会丢失 spark-defaults 中的默认值的方法.conf 文件。这似乎是不可能的,但文档中并没有明确说明,显然不能从引用的文字中推断出来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 2010-10-05
    • 2020-11-15
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多