如何在交互式 PySpark 会话中更改 SparkContext 属性
How to change SparkContext properties in Interactive PySpark session
如何在 pyspark interactive shell 中更改 spark.driver.maxResultSize?我使用了以下代码
from pyspark import SparkConf, SparkContext
conf = (SparkConf()
.set("spark.driver.maxResultSize", "10g"))
sc.stop()
sc=SparkContext(conf)
但它给了我错误
AttributeError: 'SparkConf' object has no attribute '_get_object_id'
所以你看到的是 SparkConf
不是 java 对象,这是因为它试图使用 SparkConf
作为第一个参数,如果你不是do sc=SparkContext(conf=conf)
它应该使用您的配置。话虽如此,您最好只启动一个常规 python 程序,而不是停止默认的 spark 上下文并重新启动它,但是您需要使用命名参数技术来传入 conf 对象方式。
内联修改给定 Spark 上下文的 spark 设置的正确方法要求关闭上下文。例如:
from pyspark import SparkContext
SparkContext.setSystemProperty('spark.driver.maxResultSize', '10g')
sc = SparkContext("local", "App Name")
来源:https://spark.apache.org/docs/0.8.1/python-programming-guide.html
p.s。如果您需要关闭 SparkContext,只需使用:
SparkContext.stop(sc)
要仔细检查已设置的当前设置,您可以使用:
sc._conf.getAll()
在 Spark 2.3.1
中更新配置
要更改默认的 spark 配置,您可以按照以下步骤操作:
导入需要的类
from pyspark.conf import SparkConf
from pyspark.sql import SparkSession
获取默认配置
spark.sparkContext._conf.getAll()
更新默认配置
conf = spark.sparkContext._conf.setAll([('spark.executor.memory', '4g'), ('spark.app.name', 'Spark Updated Conf'), ('spark.executor.cores', '4'), ('spark.cores.max', '4'), ('spark.driver.memory','4g')])
停止当前的 Spark 会话
spark.sparkContext.stop()
创建 Spark 会话
spark = SparkSession.builder.config(conf=conf).getOrCreate()
如何在 pyspark interactive shell 中更改 spark.driver.maxResultSize?我使用了以下代码
from pyspark import SparkConf, SparkContext
conf = (SparkConf()
.set("spark.driver.maxResultSize", "10g"))
sc.stop()
sc=SparkContext(conf)
但它给了我错误
AttributeError: 'SparkConf' object has no attribute '_get_object_id'
所以你看到的是 SparkConf
不是 java 对象,这是因为它试图使用 SparkConf
作为第一个参数,如果你不是do sc=SparkContext(conf=conf)
它应该使用您的配置。话虽如此,您最好只启动一个常规 python 程序,而不是停止默认的 spark 上下文并重新启动它,但是您需要使用命名参数技术来传入 conf 对象方式。
内联修改给定 Spark 上下文的 spark 设置的正确方法要求关闭上下文。例如:
from pyspark import SparkContext
SparkContext.setSystemProperty('spark.driver.maxResultSize', '10g')
sc = SparkContext("local", "App Name")
来源:https://spark.apache.org/docs/0.8.1/python-programming-guide.html
p.s。如果您需要关闭 SparkContext,只需使用:
SparkContext.stop(sc)
要仔细检查已设置的当前设置,您可以使用:
sc._conf.getAll()
在 Spark 2.3.1
中更新配置要更改默认的 spark 配置,您可以按照以下步骤操作:
导入需要的类
from pyspark.conf import SparkConf
from pyspark.sql import SparkSession
获取默认配置
spark.sparkContext._conf.getAll()
更新默认配置
conf = spark.sparkContext._conf.setAll([('spark.executor.memory', '4g'), ('spark.app.name', 'Spark Updated Conf'), ('spark.executor.cores', '4'), ('spark.cores.max', '4'), ('spark.driver.memory','4g')])
停止当前的 Spark 会话
spark.sparkContext.stop()
创建 Spark 会话
spark = SparkSession.builder.config(conf=conf).getOrCreate()