Rimuovi le stop word e riduci l'insieme di dati
In questo esercizio rimuoverai le stop word dai tuoi dati. Le stop word sono parole molto comuni e spesso poco interessanti, ad esempio "I", "the", "a" ecc. Puoi rimuovere molte stop word evidenti con una tua lista. Ma per questo esercizio, rimuoverai solo le stop word da una lista curata stop_words fornita nel tuo ambiente.
Dopo aver rimosso le stop word, creerai un pair RDD in cui ogni elemento è una tupla (k, v) dove k è la chiave e v è il valore. In questo esempio, il pair RDD è composto da (w, 1) dove w è ciascuna parola nell'RDD e 1 è un numero. Infine, combinerai i valori con la stessa chiave dal pair RDD per contare il numero di occorrenze di ogni parola.
Ricorda che hai già uno SparkContext sc e splitRDD disponibili nel tuo workspace, insieme alla variabile lista stop_words.
Questo esercizio fa parte del corso
Fondamenti di Big Data con PySpark
Istruzioni dell'esercizio
- Filtra
splitRDD, rimuovendo le stop word elencate nella variabilestop_words. - Crea una tupla pair RDD contenente la parola (usando l'iteratore
w) e il numero1a partire da ciascun elemento parola insplitRDD. - Ottieni il conteggio delle occorrenze di ogni parola (frequenza delle parole) nel pair RDD. Usa una trasformazione che opera su coppie chiave-valore (k,v). Rifletti bene su quale funzione usare qui.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)