CommencezCommencez gratuitement

Repartitionner les données

Un dataframe text_df existe, avec les colonnes id, word et chapter. Les 5 premières lignes de text_df sont affichées dans la console.

Vous pouvez déterminer qu'il y a 12 chapitres grâce à la commande suivante :

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

Le résultat de cette commande est affiché dans la console sous « Table 1 ».

Le dataframe text_df se trouve actuellement dans une seule partition. Supposons que vous sachiez que les prochaines étapes de traitement vont regrouper les données par chapitres. Le traitement sera le plus efficace si chaque chapitre reste sur une seule machine. Pour éviter un brassage inutile des données entre les machines, repartitionnons le dataframe en une partition par chapitre, en utilisant les commandes repartition et getNumPartitions présentées dans la première vidéo de ce chapitre.

N'hésitez pas à consulter le diaporama à droite de la console si vous avez un doute sur une étape montrée dans la vidéo.

Cette activité fait partie du cours

Introduction à Spark SQL en Python

Voir le cours

Instructions de l’exercice

  • Repartitionnez text_df en 12 partitions, avec chaque chapitre dans sa propre partition.
  • Affichez le nombre de partitions dans le nouveau dataframe.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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

# Prove that repart_df has 12 partitions
repart_df.____.____
Modifier et exécuter le code