Supprimer les mots vides et réduire l'ensemble de données
Dans cet exercice, vous allez supprimer les mots vides de vos données. Les mots vides sont des mots courants qui sont souvent inintéressants, par exemple « je », « le », « un », etc. Vous pouvez supprimer de nombreux mots vides évidents en utilisant votre propre liste. Mais pour cet exercice, vous allez simplement supprimer les mots vides d'une liste préparée stop_words
déjà fournie dans votre environnement.
Après avoir supprimé les mots vides, vous créerez un RDD de paires dont chaque élément est une paire de tuple (k, v)
où k
est la clé et v
la valeur. Dans cet exemple, le RDD de paires est composé de (w, 1)
où w
correspond à chaque mot de RDD et 1 à un nombre. Enfin, vous combinerez les valeurs avec la même clé du RDD de paires pour compter le nombre d'occurrences de chaque mot.
Rappelez-vous qu’un SparkContext sc
et splitRDD
se trouvent déjà dans votre espace de travail, ainsi que la variable de type liste stop_words
.
Cet exercice fait partie du cours
Principes fondamentaux des mégadonnées avec PySpark
Instructions
- Filtrez
splitRDD
, en supprimant les mots vides répertoriés dans la variablestop_words
. - Créez un RDD de tuples contenant le mot (en utilisant l'itérateur
w
) et le nombre1
de chaque élément mot danssplitRDD
. - Obtenez le nombre d'occurrences de chaque mot (la fréquence des mots) dans le RDD de paires. Utilisez une transformation qui opère sur des paires clé-valeur (k,v). Réfléchissez bien à la fonction à utiliser ici.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Filter splitRDD to remove stop words from the stop_words curated list
splitRDD_no_stop = splitRDD.____(lambda x: x.lower() not in ____)
# Create a tuple of the word (w) and 1
splitRDD_no_stop_words = splitRDD_no_stop.map(lambda w: (____, ____))
# Count of the number of occurences of each word
resultRDD = splitRDD_no_stop_words.____(lambda x, y: x + y)