Condividi tramite


partitionedBy

Partiziona la tabella di output creata da create, createOrReplaceo replace usando le colonne o le trasformazioni specificate. Se specificato, i dati della tabella vengono archiviati da questi valori per letture efficienti.

Ad esempio, quando una tabella viene partizionata per giorno, può essere archiviata in un layout di directory come:

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

Il partizionamento è una delle tecniche più diffuse per ottimizzare il layout dei dati fisici. Fornisce un indice con granularità grossolana per ignorare le letture di dati non necessarie quando le query hanno predicati sulle colonne partizionate. Per il corretto funzionamento del partizionamento, il numero di valori distinti in ogni colonna deve in genere essere inferiore a decine di migliaia.

col e cols supportano solo le funzioni di trasformazione seguenti:

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

Sintassi

partitionedBy(col, *cols)

Parametri

Parametro Tipo Descrizione
col Colonna o str Prima colonna di partizionamento o trasformazione.
*cols Colonna o str, facoltativo Colonne o trasformazioni aggiuntive di partizionamento.

Restituzioni

DataFrameWriterV2