Apache spark 运行时Spark配置更改
因此,询问是否有人知道在运行时更改Spark属性(例如Spark.executor.memory、Spark.shuffle.spill.compress等)的方法,以便更改在作业期间的任务/阶段之间生效 所以我知道 1) Spark 2.0+(以及以前的版本)的文档说明,一旦创建了Spark上下文,就不能在运行时更改它 2) SparkSession.conf.set,这可能会改变SQL的一些特性,但我正在研究更一般、更全面的配置 3) 我可以用新属性在程序中启动一个新上下文,但这里的情况是在作业已经执行时实际调整属性 想法 1) 杀死一个执行器会迫使它再次读取一个配置文件吗,或者它只是得到在作业开始时已经配置好的配置文件 2) 是否有命令强制“刷新”spark上下文中的属性Apache spark 运行时Spark配置更改,apache-spark,configuration-files,runtime-configuration,Apache Spark,Configuration Files,Runtime Configuration,因此,询问是否有人知道在运行时更改Spark属性(例如Spark.executor.memory、Spark.shuffle.spill.compress等)的方法,以便更改在作业期间的任务/阶段之间生效 所以我知道 1) Spark 2.0+(以及以前的版本)的文档说明,一旦创建了Spark上下文,就不能在运行时更改它 2) SparkSession.conf.set,这可能会改变SQL的一些特性,但我正在研究更一般、更全面的配置 3) 我可以用新属性在程序中启动一个新上下文,但这里的情况是在
因此,希望有一种方法或其他想法(提前感谢).不,不可能在运行时更改设置,如
spark.executor.memory
此外,在“快速切换到新环境”方面,可能没有太多好的技巧,因为spark的优势在于它可以收集数据并继续进行。实际上,您需要的是一个map-reduce框架。当然,你可以将你的工作改写成这种结构,并将工作分成多个spark工作,但这样你就会失去spark带来的一些轻松和性能。(尽管可能不是全部)
<>如果你真的认为这个请求在概念层面上是有意义的,你可以考虑做一个特征请求。这可以通过您的spark供应商进行,也可以直接通过。这可能有用的一个示例:较小的
spark.Location.wait值可能适用于处理少量数据的一个阶段,而处理大量数据的后期阶段可能会使用较大的此参数值。