Afficher les fréquences des mots
Après avoir combiné les valeurs (comptes) ayant la même clé (mot), vous allez, dans cet exercice, retourner les 10 premières fréquences de mots. Vous auriez pu récupérer tous les éléments d'un coup avec collect(), mais c'est une mauvaise pratique et ce n'est pas recommandé. Les RDD peuvent être énormes : vous pourriez manquer de mémoire et faire planter votre ordinateur.
Et si nous voulons retourner les 10 mots les plus fréquents? Pour cela, vous devrez d'abord échanger la clé (mot) et la valeur (compte) de sorte que la clé soit le compte et la valeur soit le mot. En ce moment, result_RDD a la clé comme élément 0 et la valeur comme élément 1. Après avoir échangé la clé et la valeur dans le tuple, vous trierez le RDD de paires selon la clé (compte). Ainsi, il est plus simple de trier le RDD par la clé plutôt que d'utiliser l'opération sortByKey dans PySpark. Enfin, vous retournerez les 10 mots les plus fréquents à partir du RDD trié.
Vous avez déjà un SparkContext sc et resultRDD dans votre espace de travail.
Cette activité fait partie du cours
Principes de Big Data avec PySpark
Instructions de l’exercice
- Affichez les 10 premiers mots et leurs fréquences à partir du RDD
resultRDD. - Échangez les clés et les valeurs dans
resultRDD. - Triez les clés en ordre décroissant.
- Affichez les 10 mots les plus fréquents et leurs fréquences à partir du RDD trié.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Display the first 10 words and their frequencies from the input RDD
for word in resultRDD.____(10):
print(word)
# Swap the keys and values from the input RDD
resultRDD_swap = resultRDD.____(lambda x: (x[1], x[____]))
# Sort the keys in descending order
resultRDD_swap_sort = resultRDD_swap.____(ascending=False)
# Show the top 10 most frequent words and their frequencies from the sorted RDD
for word in resultRDD_swap_sort.____(____):
print("{},{}". format(____, word[0]))