Я пытаюсь создать рекомендацию, используя Spark, и просто закончилась нехватка памяти:
Exception in thread "dag-scheduler-event-loop" java.lang.OutOfMemoryError: Java heap space
Я хотел бы увеличить память, доступную Spark, изменив свойство spark.executor.memory
в PySpark во время выполнения.
Это возможно? Если да, то как?
Обновление
вдохновленный ссылкой в комментарии @zero323, я попытался удалить и воссоздать контекст в PySpark:
del sc
from pyspark import SparkConf, SparkContext
conf = (SparkConf().setMaster("http://hadoop01.woolford.io:7077").setAppName("recommender").set("spark.executor.memory", "2g"))
sc = SparkContext(conf = conf)
вернулся:
ValueError: Cannot run multiple SparkContexts at once;
Это странно, поскольку:
>>> sc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sc' is not defined