Répartir 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 vérifier qu’il y a 12 chapitres avec 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 ne possède actuellement qu’une seule partition. Supposons que vous sachiez que les prochaines étapes de traitement vont regrouper les données par chapitre. Le traitement sera plus efficace si chaque chapitre reste sur une seule machine. Pour éviter des déplacements inutiles de données d’une machine à l’autre, répartissons le dataframe en une partition par chapitre, en utilisant les commandes repartition et getNumPartitions vues dans la première vidéo de ce chapitre.
N’hésitez pas à consulter les diaporamas disponibles à droite de la console si vous ne vous souvenez plus comment cela a été fait dans la vidéo.
Cet exercice fait partie du cours
Introduction à Spark SQL en Python
Instructions
- Répartissez
text_dfen 12 partitions, avec chaque chapitre dans sa propre partition. - Affichez le nombre de partitions du nouveau dataframe.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Repartition text_df into 12 partitions on 'chapter' column
repart_df = text_df.____(____, ____)
# Prove that repart_df has 12 partitions
repart_df.____.____