mehrere SparkContexts Fehler im tutorial
Ich bin versucht zu laufen, der sehr einfachen Funke+Python pyspark tutorial -- siehe http://spark.apache.org/docs/0.9.0/quick-start.html
Wenn ich versuche zu initialisieren einer neuen SparkContext,
from pyspark import SparkContext
sc = SparkContext("local[4]", "test")
Bekomme ich die folgende Fehlermeldung:
ValueError: Cannot run multiple SparkContexts at once
Frage ich mich, ob meine bisherigen versuche, auf dem Beispiel-code geladen, etwas in den Speicher, die nicht klar aus. Gibt es einen Weg, um die Liste der aktuellen SparkContexts, die bereits im Speicher und/oder deaktivieren Sie Sie aus, so dass die Beispiel-code ausgeführt wird?
InformationsquelleAutor der Frage Glenn Strycker | 2014-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies geschieht, weil, wenn Sie geben Sie "pyspark" in das terminal, das system automatisch initialisiert, die SparkContext (vielleicht ein Objekt?), so sollten Sie es zu stoppen, bevor Sie eine neue erstellen.
Können Sie
bevor Sie Ihre neue SparkContext.
Können Sie auch
statt
Ich bin neu in der Funke und ich weiß nicht viel über die Bedeutung der Parameter der Funktion SparkContext (), aber der code oben gezeigt, sowohl für mich gearbeitet.
InformationsquelleAutor der Antwort Statham
Stellt sich heraus, dass das ausführen von ./bin/pyspark interaktiv AUTOMATISCH LÄDT EIN SPARKCONTEXT. Hier ist, was ich sehe, wenn ich starten pyspark:
...also, Sie können entweder "del " sc" am Anfang sonst gehen Sie vor und verwenden Sie "sc" als automatisch definiert.
Das andere problem mit dem Beispiel ist, dass es scheint, um auf einen regulären NFS-Dateisystem Lage, in der Erwägung, dass es wirklich versucht, Blick auf das HDFS-Dateisystem für Hadoop. Ich musste Sie zum hochladen der Datei README.md-Datei im $SPARK_HOME Lage mit "hadoop fs -put README.md README.md", bevor der code ausgeführt wird.
Hier ist das modifizierte Beispiel-Programm, dass ich lief interaktiv:
und hier ist die modifizierte version der stand-alone-python-Datei:
kann ich jetzt ausführen über $SPARK_HOME/bin/pyspark SimpleApp.py
InformationsquelleAutor der Antwort Glenn Strycker
Haben Sie versucht, zu verwenden, sc.stop() auf, bevor Sie versuchen, erstellen Sie ein anderes SparkContext?
InformationsquelleAutor der Antwort Kun
Statt der Einstellung benutzerdefinierte Konfigurationen, um die SparkContext bei PySpark-Eingabeaufforderung, können Sie diese zum Zeitpunkt des Beginns PySpark.
z.B.
Gelten diese conf das sc-Objekt in PySpark.
InformationsquelleAutor der Antwort Sourabh Potnis