Ich versuche, Funken Partitionierung zu nutzen. Ich habe versucht, so etwas wieSpark Parkett Partitionierung: Große Anzahl von Dateien
data.write.partitionBy("key").parquet("/location")
Die Frage ist hier jede Partition erstellt große Anzahl von Parkett-Dateien zu tun, die langsame Lese führen, wenn ich aus dem Stammverzeichnis zu lesen versuchen.
Um zu vermeiden, dass ich
data.coalese(numPart).write.partitionBy("key").parquet("/location")
versuchte Dies schafft jedoch numPart Anzahl von Parkett-Dateien in jeder Partition. Jetzt ist meine Partitionsgröße anders. SO würde ich idealerweise eine separate Koaleszenz pro Partition haben wollen. Dies ist jedoch keine leichte Sache. Ich muss alle Partitionen besuchen, die zu einer bestimmten Nummer koaleszieren und an einem anderen Ort speichern.
Wie sollte ich Partitionierung verwenden, um viele Dateien nach dem Schreiben zu vermeiden?
würde setzen Sie
N
Datensätze in 1 Parkett verwende ich Ihre Frage weniger sein bearbeitet haben - Meinung basiert und zu vermeiden, diese Frage zu schließen, denn es scheint sehr interessant zu sein :) Bitte überprüfen Sie, ob meine Änderungen in Ihrer Meinung ok sind und immer noch die Antwort geben, die Sie brauchen oder wollen :) –haben Sie https://stackoverflow.com/questions gelesen/44459355/Spark-Dataframe-Write-Methode-Schreiben-viele-kleine-Dateien/44459887 # 44459887? –