Ich habe einen Funken-Cluster, den ich über Google Dataproc erstellt. Ich möchte in der Lage sein, die CSV-Bibliothek von Databricks zu verwenden (siehe https://github.com/databricks/spark-csv). Also habe ich es getestet dies zunächst wie:Verwenden Sie eine externe Bibliothek in pyspark Job in einem Spark-Cluster von google-dataproc
ich eine SSH-Sitzung mit dem Master-Knoten meines Clusters gestartet, dann Eingang I:
pyspark --packages com.databricks:spark-csv_2.11:1.2.0
Dann ist es eine pyspark Schale ins Leben gerufen, in dem I-Eingang:
df = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').load('gs:/xxxx/foo.csv')
df.show()
Und es hat funktioniert.
Mein nächster Schritt ist es, diese Arbeit von meiner Hauptmaschine starten Sie den Befehl:
gcloud beta dataproc jobs submit pyspark --cluster <my-dataproc-cluster> my_job.py
Aber hier funktioniert es nicht und ich erhalte eine Fehlermeldung. Ich denke, weil ich nicht die --packages com.databricks:spark-csv_2.11:1.2.0
als Argument gegeben habe, aber ich habe versucht, 10 verschiedene Möglichkeiten, es zu geben, und ich habe es nicht geschafft.
Meine Frage lautet:
- die databricks csv-Bibliothek installiert wurde, nachdem ich
pyspark --packages com.databricks:spark-csv_2.11:1.2.0
getippt - kann ich eine Linie in meinem
job.py
schreiben, um es zu importieren? - oder welche Parameter sollte ich meinem gcloud-Befehl geben, um es zu importieren oder zu installieren?
Es gibt einen Fehler in Dataproc, wo JARS nicht für Pyspark-Jobs abgeholt werden. Ich schaue mir eine alternative Lösung an. Ich wollte Sie nur wissen lassen, dass wir uns den größeren Fehler ansehen, und ich sehe, ob wir auch einen vorläufigen Fix für Sie finden können. :) – James
hoffe auf einen Workaround und eine Reparatur hier, thx @ James! wir versuchen, Dataproc mit dem Cassandra-Connector von Python und Scala zu verwenden – navicore