IniziaInizia gratis

Ripartizionare i dati

È disponibile un dataframe text_df con le colonne id, word e chapter. Le prime 5 righe di text_df sono stampate in console.

Puoi determinare che ci sono 12 capitoli con il seguente comando:

text_df.select('chapter')\
       .distinct()\
       .sort('chapter')\
       .show(truncate=False)

Il risultato di questo comando è stampato in console come Table 1.

Il dataframe text_df è attualmente in un'unica partizione. Supponi di sapere che i prossimi passaggi di elaborazione raggrupperanno i dati per capitolo. L'elaborazione sarà più efficiente se ogni capitolo rimane su una singola macchina. Per evitare shuffle non necessari dei dati da una macchina all'altra, ripartizioniamo il dataframe in una partizione per capitolo, usando i comandi repartition e getNumPartitions presentati nel primo video di questo capitolo.

Se dimentichi come è stato fatto nel video, non esitare a consultare le diapositive disponibili alla destra della console.

Questo esercizio fa parte del corso

Introduzione a Spark SQL in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Ripartiziona text_df in 12 partizioni, con ogni capitolo nella sua partizione.
  • Mostra il numero di partizioni nel nuovo dataframe.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)

# Prove that repart_df has 12 partitions
repart_df.____.____
Modifica ed esegui il codice