Aller au contenu principal

partitionedBy

Partitionne la table de sortie créée par create, createOrReplace ou replace à l'aide des colonnes ou transformations données. Lorsqu'elles sont spécifiées, les données de la table sont stockées par ces valeurs pour des lectures efficaces.

Par exemple, lorsqu'une table est partitionnée par jour, elle peut être stockée dans une disposition de répertoire telle que :

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

Le partitionnement est l'une des techniques les plus utilisées pour optimiser le Layout physique des données. Il fournit un index à granularité grossière pour ignorer les lectures de données inutiles lorsque les query ont des prédicats sur les colonnes partitionnées. Pour que le partitionnement fonctionne correctement, le nombre de valeurs distinctes dans chaque colonne doit généralement être inférieur à des dizaines de milliers.

col et cols ne prennent en charge que les fonctions de transformation suivantes :

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

Syntaxe

partitionedBy(col, *cols)

parameter

parameter

Type

Description

col

Colonne ou chaîne

La première colonne de partitionnement ou de transformation.

*cols

Colonne ou str, facultatif

Colonnes de partitionnement ou transformations supplémentaires.

parameter

Type

Description

col

Colonne ou chaîne

La première colonne de partitionnement ou de transformation.

*cols

Colonne ou str, facultatif

Colonnes de partitionnement ou transformations supplémentaires.

Renvoie

DataFrameWriterV2