10

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

所以我知道...

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

2) SparkSession.conf.set 可能会改变 SQL 的一些东西,但我正在查看更通用的、包含所有配置的配置。

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

想法...

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

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

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

4

1 回答 1

0

spark.executor.memory不,不能像在运行时那样更改设置。


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

如果您真的认为该请求在概念层面上有意义,您可以考虑提出功能请求。这可以通过您的 spark 供应商,或直接通过在 apache Spark 项目上记录 Jira

于 2020-08-01T21:19:29.417 回答