Ich versuche, einen Recommender mit Funken zu bauen und lief nur aus der Erinnerung:erhöhen Speicher zur Verfügung zu PySpark zur Laufzeit
Exception in thread "dag-scheduler-event-loop" java.lang.OutOfMemoryError: Java heap space
Ich mag den Speicher zur Verfügung, um Funken zu erhöhen, indem die spark.executor.memory
Eigenschaften modifizierenden , in PySpark, zur Laufzeit.
Ist das möglich? Wenn das so ist, wie?
Update
durch den Link inspiriert in @ zero323 Kommentar habe ich versucht, den Kontext, in PySpark zu löschen und neu erstellen:
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)
zurückgegeben:
ValueError: Cannot run multiple SparkContexts at once;
Das ist seltsam, seit:
>>> sc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sc' is not defined
Was meinst du mit "zur Laufzeit"? Durch Ändern des vorhandenen 'SparkContext'? – zero323
Ja, genau. Ich möchte die Speicherkapazität in der PySpark-Sitzung erhöhen. –
Innerhalb der Sitzung [stoppe den bestehenden Kontext und erstelle einen neuen] (http://stackoverflow.com/a/31402667/1560062) unter Verwendung bestimmter Einstellungen, aber soweit ich weiß, kannst du einen bestehenden nicht ändern. – zero323