HiveContext不保留SparkContext配置

时间:2019-01-02 21:11:04

标签: python hive pyspark

我无法调整执行器和驾驶员的记忆。

 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)时,内存将恢复为默认值。

1 个答案:

答案 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()