Ich versuche, eine RDD vom Typ org.apache.spark.rdd.RDD[((String, String), Int)] = MapPartitionsRDD[21]
in eine Datei zu schreiben:Speichern RDD in Dateien
Ich habe meine RDD durch diesen Code:
val res = motList2.cartesian(motList2).map { case (x, y) =>
((x._1, y._1), x._2 + y._2)
}
val dir = "H:\\procjet-results"
res.saveAsTextFile(dir)
motList2 kann etwas sein wie:
motList2=List((("Chicken","Pasta"),2), ("Chicken","robot"),3) ...)
Aber ich habe immer eine Ausnahme
org.apache.hadoop.mapred.FileAlreadyExistsException
Ich habe überprüft, der Ordner ist erstellt, aber alle Dateien sind leer.
Eigentlich habe ich den Ordner entfernt, aber ich habe immer noch den gleichen Fehler. Hadoop erstellt einen Ordner mit leeren Dateien darin. Starten Sie dann eine Ausnahme – MarcelRitos
Scheint ein bisschen seltsam. Ein Grund, warum Spark leere Dateien erstellt, könnte sein, dass für einige Schlüssel leere Partitionen vorhanden sind. Haben Sie versucht zu sehen, ob etwas in "res" ist, bevor Sie das Ergebnis auf die Festplatte schreiben? Wenn Sie eine IDE verwenden, können Sie Ihren Spark-Code einfach lokal im Debug-Modus ausführen. – PinoSan