2015-07-16 10 views
6

Ich versuche, Gläser automatisch in meinen PySpark-Klassenpfad aufzunehmen. Im Moment kann ich den folgenden Befehl ein und es funktioniert:Automatisches Einschließen von Gläsern in den PySpark-Klassenpfad

$ pyspark --jars /path/to/my.jar 

Ich möchte, dass Glas standardmäßig enthalten haben, so dass ich nur pyspark geben kann und es auch in IPython Notebook verwenden.

Ich habe gelesen, dass ich das Argument, indem PYSPARK_SUBMIT_ARGS in env umfassen kann:

export PYSPARK_SUBMIT_ARGS="--jars /path/to/my.jar" 

Leider ist das oben nicht funktionieren. Ich bekomme den Laufzeitfehler Failed to load class for data source.

Laufender Spark 1.3.1.

bearbeiten

Meine Abhilfe bei der Verwendung von IPython Notebook ist folgende:

$ IPYTHON_OPTS="notebook" pyspark --jars /path/to/my.jar 

Antwort

12

Sie können die JAR-Dateien in der Funken defaults.conf Datei hinzufügen (im conf Ordner Ihrer Funkeninstallation). Wenn es mehr als einen Eintrag in der Gläserliste gibt, verwende: als Trennzeichen.

spark.driver.extraClassPath /path/to/my.jar 

Diese Eigenschaft wird in dokumentiert https://spark.apache.org/docs/1.3.1/configuration.html#runtime-environment

+1

Ich bekomme einen Fehler: 'Py4JJavaError: Beim Aufruf von o28.load ist ein Fehler aufgetreten. : java.sql.SQLException: Kein geeigneter Treiber \t bei java.sql.DriverManager.getDriver (DriverManager.java:315) ' – FullStack

+0

@FullStack mich auch, haben Sie eine Lösung gefunden? – thebeancounter

7

Soweit ich weiß, muss man Gläser importieren sowohl Treiber UND Testamentsvollstrecker. Sie müssen also conf/spark-defaults.conf bearbeiten, indem Sie die beiden folgenden Zeilen hinzufügen.

spark.driver.extraClassPath /path/to/my.jar 
spark.executor.extraClassPath /path/to/my.jar 

Als ich das durchging, brauchte ich keine anderen Parameter. Ich nehme an, du wirst sie auch nicht brauchen.

+0

'spark.executor.extraClassPath' ist nur für Abwärtskompatibilität (nicht sicher, an welcher Stelle es geändert wurde), aber in der aktuellen Dokumentation heißt es, Sie brauchen es nicht, es sei denn, Sie führen eine ältere Version: https: // spark .apache.org/docs/latest/configuration.html # Laufzeitumgebung –

Verwandte Themen