2017-09-19 4 views
1

Ich habe versucht, einen Funken einreichen Job in einem jupyter Notebook läuft Daten von einer Netzwerk-Datenbank zu ziehen:Wie kann ich spark-submit in jupyter Notebook ausführen?

!spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.10:2.0.0 script.py 

und bekam diese Meldung:

jupyter: ‚/ home/user/script.py 'ist kein Jupyter-Befehl

Gibt es eine Möglichkeit, vom Notebook aus zu senden.

KR

+0

Sie haben die entscheidenden Informationen nicht angegeben - sieht so aus, als hätten Sie 'PYSPARK_DRIVER_PYTHON' (oder ein Äquivalent) zu' jupyter' gesetzt. 'jupyter' kann Skripte direkt nur über' run' ausführen. – zero323

Antwort

2

Wenn sein ein ipykernel, ich sehe keine Anforderung ein Funke zu tun einreichen, sind Sie bereits in der interaktiven Funken Modus, in dem sparkContext und sqlContext bereits erstellt und für die gesamte Sitzung, die Sie up ist Kernel. Scheint so, als ob Sie versuchen würden, eine Kaskaden-Sortierung zu erzeugen, d. H. Funkenanwendung innerhalb der Funkenanlegung und so weiter. Sie können das nicht mit Spark haben.

Sie können einen normalen Python-Kernel starten und dann spark-submit als Shell-Befehl mit Popen oder andere solche Bibliotheken und Funktionen ausführen.

+0

mit diesem würde ich sagen, dass das Problem gelöst ist. Vielen Dank –

1

Verwenden der Shell Magie:

%%sh 
spark-submit --packages org.mongodb.spark:mongo-spark-connector_2.10:2.0.0 script.py 

mehr magics Siehe here!

+0

Danke @Tim, scheint wie ein Schritt vorwärts. Aber mit dem Ausführen der Magie bekomme ich immer noch das gleiche Problem: 'jupyter:' /home/user/script.py 'ist kein Jupyter Befehl' –

+0

Verwenden Sie den Scala-Kernel oder IPython? – Tim

+0

Es ist ein ipykernel. –

Verwandte Themen