Freigeben über


partitionedBy

Partitioniert die von , createoder createOrReplace mithilfe der angegebenen Spalten oder Transformationen erstellte replaceAusgabetabelle. Wenn angegeben, werden die Tabellendaten von diesen Werten für effiziente Lesevorgänge gespeichert.

Wenn beispielsweise eine Tabelle nach Tag partitioniert wird, kann sie in einem Verzeichnislayout wie folgt gespeichert werden:

  • table/day=2019-06-01/
  • table/day=2019-06-02/

Partitionierung ist eine der am häufigsten verwendeten Techniken zur Optimierung des physischen Datenlayouts. Es stellt einen grobkörnigen Index zum Überspringen unnötiger Datenlesevorgänge bereit, wenn Abfragen Prädikate für die partitionierten Spalten aufweisen. Damit die Partitionierung gut funktioniert, sollte die Anzahl der unterschiedlichen Werte in jeder Spalte in der Regel weniger als Zehntausend sein.

col und cols unterstützen nur die folgenden Transformationsfunktionen:

  • pyspark.sql.functions.years
  • pyspark.sql.functions.months
  • pyspark.sql.functions.days
  • pyspark.sql.functions.hours
  • pyspark.sql.functions.bucket

Syntax

partitionedBy(col, *cols)

Parameter

Parameter Typ Beschreibung
col Spalte oder Str Die erste Partitionierungsspalte oder Transformation.
*cols Spalte oder Str, optional Zusätzliche Partitionierungsspalten oder Transformationen.

Rückkehr

DataFrameWriterV2