gpt4 book ai didi

apache-spark - sparksession.config() 和 spark.conf.set() 有什么区别

转载 作者:行者123 更新时间:2023-12-03 18:45:29 27 4
gpt4 key购买 nike

我尝试使用两种方法来设置 spark.dynamicAllocation.minExecutors ,但似乎只有第一种方法有效

spark2 = SparkSession \
.builder \
.appName("test") \
.config("spark.dynamicAllocation.minExecutors", 15) \
.getOrCreate()

对比

spark2.conf.set("spark.dynamicAllocation.minExecutors", 15)

最佳答案

与其说是方法之间的差异,不如说是执行这些方法的上下文的差异。

  • pyspark.sql.session.SparkSession.Builder 选项可以在 Spark 应用程序启动之前执行。这意味着,如果没有要检索的事件 SparkSession,仍然可以设置一些特定于集群的选项。

    如果 session 已经初始化,设置新的配置选项可能不起作用。参见例如 Spark 2.0: Redefining SparkSession params through GetOrCreate and NOT seeing changes in WebUI
  • pyspark.sql.conf.RuntimeConfig 只能从退出 session 中检索,因此一旦集群运行,就会调用其 set 方法。此时,大多数特定于集群的选项被卡住且无法修改。

  • 通常 RuntimeConfig.set 用于修改 spark.sql.* 配置参数,通常可以在运行时更改。

    请注意,根据部署模式,某些选项(尤其是 spark.*.extraJavaOptions )无法使用任何这些方法设置,只能通过 spark-submit 参数或使用配置文件进行修改。

    关于apache-spark - sparksession.config() 和 spark.conf.set() 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52721734/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com