ich einen Datenrahmen am Partitionieren wie folgt:Prevent DataFrame.partitionBy() von partitionierten Spalten von Schema zu entfernen
df.write.partitionBy("type", "category").parquet(config.outpath)
Der Code gibt die erwarteten Ergebnisse (das heißt Daten aufgeteilt nach Typ & Kategorie). Die Spalten "Typ" und "Kategorie" werden jedoch aus dem Daten/Schema entfernt. Gibt es eine Möglichkeit, dieses Verhalten zu verhindern?
Ist das nicht ein Punkt? Alle erforderlichen Daten sind noch in der Verzeichnisstruktur codiert, so dass kein Datenverlust auftritt. Wenn Sie einige Werte pro Datei wünschen, können Sie 'df.repartition (" type "," category ") versuchen. Write (...)' aber Sie werden keine schöne Struktur bekommen. – zero323
@ Zero323: Ja, ich stimme zu, es gibt keinen Datenverlust. Das Wiederherstellen der für die Partitionierung verwendeten Spalten ist jedoch in einigen Anwendungsfällen nicht trivial. Zum Beispiel, wenn ich die Daten in Schwein laden möchte, wie würde ich die Spalten des Typs und der Kategorie wiederherstellen? – Michael
Ich habe das Schwein schon eine Weile nicht mehr benutzt. Versteht 'ParquetLoader' nicht die Struktur aus der Box? – zero323