【问题标题】: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 文档中的注释不适用。