我无法调整执行器和驾驶员的记忆。
from pyspark import SparkContext, SparkConf
from pyspark.sql import HiveContext
conf = pyspark.SparkConf().setAll([('spark.executor.memory', '2g'),('spark.driver.memory','2g')])
sc.stop()
sc = pyspark.SparkContext(conf=conf)
sc._conf.getAll()
hc = HiveContext(sc)
sc._conf.getAll()
在sc._conf.getAll()
之前运行hc = HiveContext(sc)
时,我可以看到我的记忆已根据需要进行了调整。但是,在sc._conf.getAll()
之后运行hc = HiveContext(sc)
时,内存将恢复为默认值。
答案 0 :(得分:0)
如果可能,请使用SparkSession
(自Spark 2.0起可用)而不是SparkContext
,因此您可以在.conf中添加配置
from pyspark.sql import SparkSession
warehouseLocation = "/hive/user/location"
spark2 = SparkSession\
.builder.appName("SparkAppName")\
.config("spark.sql.warehouse.dir", warehouseLocation)\
.config("spark.executor.memory", "2g")\
.config("spark.executor.executor", "3g")\
.enableHiveSupport()\
.getOrCreate()