Verhindern DataFrame.partitionBy() entfernen partitionierten Spalten aus einem schema

Ich bin Partitionierung ein DataFrame wie folgt:

df.write.partitionBy("type", "category").parquet(config.outpath)

Den code gibt die erwarteten Ergebnisse (d.h. die Daten partitioniert, die von Art & Kategorie). Aber der "Typ" und "Kategorie" - Spalten werden entfernt, das Daten /schema. Gibt es eine Möglichkeit zu verhindern, dass dieses Verhalten?

  • Ist das nicht ein Punkt? Alle erforderlichen Daten sind noch verschlüsselt im Verzeichnis-Struktur, damit es nicht zu Datenverlust. Wenn Sie wollen ein paar-Werte-pro-Datei, die Sie könnten versuchen df.repartition("type", "category").write(...) aber Sie werden nicht erhalten, schöne Struktur.
  • ja, ich Stimme zu, es gibt keinen Datenverlust. Jedoch, die Wiederherstellung der Spalten verwendet für die Partitionierung ist nicht-trivial für einige Anwendungsfälle. Zum Beispiel, wenn ich will, um die Daten zu laden, die in der Schweinehaltung, wie kann ich das wiederherstellen, der Typ und die Kategorie-Spalten?
  • Noch nicht verwendet, Schwein in eine Weile. Nicht ParquetLoader verstehen, die Struktur aus der box?
  • super lange Verzögerung zu deiner Frage... Nein, das Schwein nicht enthalten die Verzeichnis-Struktur mit der Parkett-schema.
InformationsquelleAutor Michael | 2016-03-22
Schreibe einen Kommentar