CommencerCommencer gratuitement

Afficher la fréquence des mots

Après avoir combiné les valeurs (nombres) comportant la même clé (mot), dans cet exercice, vous obtiendrez les 10 premières fréquences de mots. Vous auriez pu récupérer tous les éléments en une seule fois en utilisant collect(), mais c'est une mauvaise pratique qui n'est pas recommandée. Les RDD peuvent être énormes : vous risquez de manquer de mémoire et de faire planter votre ordinateur.

Et si nous voulons obtenir les 10 mots principaux ? Pour cela, vous devez d'abord intervertir la clé (mot) et la valeur (nombre) de sorte que les clés soient les nombres et les valeurs les mots. Actuellement, 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 en fonction de la clé (nombre). De cette façon, il est facile de trier le RDD en fonction de la clé plutôt que d'utiliser l'opération sortByKey dans PySpark. Enfin, vous renverrez les 10 premiers mots en fonction de leur fréquence à partir du RDD trié.

Vous disposez déjà d'un SparkContext sc et de resultRDD dans votre espace de travail.

Cet exercice fait partie du cours

Principes fondamentaux des mégadonnées avec PySpark

Afficher le cours

Instructions

  • Affichez les 10 premiers mots et leur fréquence à partir du RDD resultRDD.
  • Échangez les clés et les valeurs dans resultRDD.
  • Triez les clés par ordre décroissant.
  • Affichez (print) les 10 mots les plus fréquents et leur fréquence à partir du RDD trié.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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]))
Modifier et exécuter le code