2017-12-18 6 views
0

Ich versuche, einen Bildklassifikationsalgorithmus mit Python und Spark zu schreiben.
Ich folge this Tutorial, das aus den offiziellen Databricks entnommen wird und funktioniert perfekt, wenn lokal ausgeführt wird.Image-Datenrahmen von HDFS für Bildklassifizierung

Mein Problem, Verschieben des Algorithmus auf einem Cluster, ist, dass ich meine Bilder aus zwei Ordnern auf dem HDFS im Format .jpg laden muss, und ich kann keine Möglichkeit finden, einen Datenrahmen wie lokal zu erstellen in den Beispielen.

Ich bin auf der Suche nach einem Ersatz für diesen Code:

from sparkdl import readImages 
jobs_df = readImages(img_dir + "/jobs").withColumn("label", lit(1)) 
+0

Sie suchen nach einem Ersatz, der was genau macht? Ich glaube nicht, dass ich deine Frage verstehe. –

+0

Was ist 'img_dir' eingestellt? Können Sie uns den HDFS-Pfad anzeigen? Ist Spark konfiguriert, um HDFS zu lesen, nicht lokale Festplatte? –

Antwort

0

Es sollte gleiche wie das Lesen der Dateien aus lokalen ziemlich viel sein.

Unten ist die Implementierung aus der Bibliothek. Es verwendet internal binaryFiles API, um Binärdateien zu laden. Die API-Dokumentation (binaryFiles) sagt, dass sie auch das Hadoop-Dateisystem unterstützt.

rdd = sc.binaryFiles(path, minPartitions=numPartitions).repartition(numPartitions) 

Hoffe das hilft.

+0

Ja, ich gehe in die Richtung, die ich brauche. Ich denke, dass ich dann mit der Lösung, die in diesem anderen stackoverflow-Thread bereitgestellt wird, einen Datenrahmen aus diesem RDD abrufen kann: https://stackoverflow.com/questions/39699107/spark-rdd-to-dataframe-python. Danke vielmals. – Andrea

Verwandte Themen