【问题标题】:Spark configuration change in runtime运行时的 Spark 配置更改
【发布时间】:2017-02-09 07:56:36
【问题描述】:

所以询问是否有人知道在运行时更改 Spark 属性(例如 spark.executor.memory、spark.shuffle.spill.compress 等)的方法,以便更改可能在任务/阶段之间生效工作...

所以我知道...

1) Spark 2.0+(以及以前的版本)的文档指出,一旦创建了 Spark 上下文,就不能在运行时更改它。

2) SparkSession.conf.set 可能会更改 SQL 的一些内容,但我正在查看更通用的所有配置。

3) 我可以在程序中使用新属性启动一个新上下文,但这里的情况是在作业已经执行后实际调整属性。

想法...

1) 杀死 Executor 会强制它再次读取配置文件,还是只是获取作业开始时已经配置的内容?

2) 是否有任何命令可以强制“刷新”火花上下文中的属性?

所以希望那里可能有一种方法或其他想法(在此先感谢)...

【问题讨论】:

  • 这可能有用的一个例子:spark.locality.wait 的小值可能适用于处理少量数据的一个阶段,而处理大量数据的稍后阶段可能应该使用此参数的值更大。

标签: apache-spark configuration-files runtime-configuration


【解决方案1】:

不,无法在运行时更改 spark.executor.memory 等设置。


此外,在“快速切换到新上下文”的方向上可能没有太多很棒的技巧,因为 Spark 的优势在于它可以获取数据并继续前进。您本质上要求的是一个 map-reduce 框架。当然,您可以将您的工作重写为这种结构,并将工作分配给多个 Spark 工作,但是您会失去一些 Spark 带来的易用性和性能。 (虽然可能不是全部)。

如果您真的认为该请求在概念层面上有意义,您可以考虑提出功能请求。这可以通过您的火花供应商,或直接通过logging a Jira on the apache Spark project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多