2016-04-06 3 views
1

Ich muss eine große Anzahl von CSV-Dateien in Spark auf Bluemix laden.Spark-CSV oder PYSPARK-Csv in Spark-Umgebung (IBM Bluemix)

Ich kann es über sc.testFile tun und dann zuordnen, aber das erfordert repetitive und umständliche Code.

Gibt es eine Möglichkeit zum Hinzufügen/Laden entweder Databricks Spark-CSV-Paket oder PYSPARK-CSV in die Umgebung (versucht, aber es hat es nicht gefallen)?

Ich sah das Beispiel, es über Pandas zu tun, aber da einige der Dateien sehr groß sein könnten (10 GBs), klang es nicht so, als wäre das eine gute Idee. Das ist in Python, aber ich könnte zu Scala wechseln.

Antwort

1

In einer Python-Notebook können Sie

sc.addPyFile("https://raw.githubusercontent.com/seahboonsiew/pysparkcsv/master/pyspark_csv.py") 

verwenden pyspark-csv zu Laufzeitumgebung hinzuzufügen. Werfen Sie einen Blick auf das Beispiel-Notebook "NY Motor Vehicle Accidents Analysis", in dem wir pyspark-csv hinzugefügt haben.

In einer Scala Notebook können Sie

%AddDeps com.databricks spark-csv_2.10 1.3.0 --transitive` 

spark-csv hinzufügen verwenden. Natürlich können Sie eine andere Version wählen.

Was meinst du mit "(versucht, aber es hat es nicht gefallen)?" ?

Loading große Menge an Daten in eine pandas.DataFrame ist keine gute Idee, Sie haben Recht.

+0

Müssen zurückgehen, versuchte den Pyspark letzte Nacht (noch bevor ich die Antwort sah) und habe es zur Arbeit gebracht - also nicht sicher, was ich getäuscht haben muss. Für spark-csv versucht zu referenzieren beschwerte sich, dass es nicht com.databricks kommen konnte, als ich das 2.10-jar hinzufügte, endete ich mit einem JVM-Stack-Dump (den ich nur cursorly ansah, es zeigte, dass es das jar und ich hatte nicht den Stack-Dump auf local erhalten, wenn die gleiche Datei verarbeitet wird - also auf pyspark umgestellt. Werde später zurückkommen und Spark-CSV testen – BrianH