partitionedBy

Partitioneert de uitvoertabel die is gemaakt door create, createOrReplaceof replace met behulp van de opgegeven kolommen of transformaties. Indien opgegeven, worden de tabelgegevens door deze waarden opgeslagen voor efficiƫnte leesbewerkingen.

Wanneer een tabel bijvoorbeeld op dag wordt gepartitioneerd, kan deze worden opgeslagen in een mapindeling zoals:

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

Partitionering is een van de meest gebruikte technieken om de indeling van fysieke gegevens te optimaliseren. Het biedt een grof korrelige index voor het overslaan van onnodige gegevens die worden gelezen wanneer query's predicaten hebben voor de gepartitioneerde kolommen. Voor een goed functionerende partitionering moet het aantal afzonderlijke waarden in elke kolom doorgaans kleiner zijn dan tienduizenden.

col en cols alleen de volgende transformatiefuncties ondersteunen:

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

Syntaxis

partitionedBy(col, *cols)

Parameterwaarden

Kenmerk Typ Beschrijving
col Kolom of str De eerste partitioneringskolom of transformatie.
*cols Kolom of str, optioneel Aanvullende partitioneringskolommen of transformaties.

Retouren

DataFrameWriterV2