2017-01-20 37 views
0

我使用jupyter在Spark群集上运行python脚本。我想更改驱动程序的默认堆栈大小。我在documentation,我可以使用spark.driver.extraJavaOptions发送给司机JVM的任何选项发现,但在文档中的说明:更改从jupyter运行的火花驱动程序的默认堆栈大小?

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

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

回答

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文档中的注释不适用。

相关问题