【问题标题】:Change default stack size for spark driver running from jupyter?更改从 jupyter 运行的 spark 驱动程序的默认堆栈大小?
【发布时间】:2017-01-20 14:39:24
【问题描述】:

我正在使用 jupyter 在 Spark 集群上运行 python 脚本。我想更改驱动程序默认堆栈大小。我在documentation 中发现可以使用spark.driver.extraJavaOptions 向驱动程序JVM 发送任何选项,但文档中有注释:

注意:在客户端模式下,此配置不能通过 SparkConf 直接在你的应用程序中,因为驱动程序 JVM 有 那时已经开始了。相反,请通过 --driver-java-options 命令行选项或在您的默认属性文件中。

问题是:从jupyter运行时如何更改默认驱动参数?

【问题讨论】:

    标签: apache-spark pyspark jupyter-notebook


    【解决方案1】:

    您可以通过将 spark.driver.extraJavaOptions 作为配置值传递给 SparkConf 来自定义用于驱动程序的 Java 选项,例如:

    from pyspark import SparkConf, SparkContext
    conf = (SparkConf()
         .setMaster("spark://spark-master:7077")
         .setAppName("MyApp")
         .set("spark.driver.extraJavaOptions", "-Xss4M"))
    sc = SparkContext.getOrCreate(conf = conf)
    

    请注意,http://spark.apache.org/docs/latest/configuration.html 中声明了 spark.driver.extraJavaOptions:

    注意:在客户端模式下,此配置不能直接通过 SparkConf 在您的应用程序中设置,因为此时驱动程序 JVM 已经启动。相反,请通过 --driver-java-options 命令行选项或在您的默认属性文件中进行设置。

    然而,这是在谈论 JVM SparkConf 类。当它在 PySpark Python SparkConf 中设置时,将其作为命令行参数传递给 spark-submit,然后在实例化 JVM 时使用它,因此 Spark 文档中的注释不适用。

    【讨论】:

      猜你喜欢
      • 2017-07-14
      • 2019-05-29
      • 2019-09-06
      • 2011-02-03
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      相关资源
      最近更新 更多