Odstranění stop slov a redukce datasetu
V tomto cvičení odstraníš stop slova ze svých dat. Stop slova jsou běžná slova, která většinou nenesou žádnou zajímavou informaci – například „I", „the", „a" apod. Mnohá zřejmá stop slova můžeš odstranit pomocí vlastního seznamu. V tomto cvičení ale budeš pracovat s předpřipraveným seznamem stop_words, který máš k dispozici ve svém prostředí.
Po odstranění stop slov vytvoříš párové RDD, kde každý prvek tvoří tuple (k, v) – k je klíč a v je hodnota. V tomto případě se párové RDD skládá z tuplí (w, 1), kde w zastupuje jednotlivá slova z RDD a 1 je přiřazená hodnota. Nakonec zkombinuješ hodnoty se stejným klíčem z párového RDD a zjistíš, kolikrát se každé slovo vyskytuje.
Pamatuj, že SparkContext sc i splitRDD máš ve svém workspace již připravené, stejně jako proměnnou se seznamem stop_words.
Toto cvičení je součástí kurzu
Big Data Fundamentals with PySpark
Pokyny k cvičení
- Pomocí
filterodfiltruj zesplitRDDstop slova uvedená v proměnnéstop_words. - Vytvoř tuple párového RDD obsahující slovo (pomocí iterátoru
w) a číslo1pro každý prvek zesplitRDD. - Zjisti počet výskytů každého slova (frekvenci slov) v párovém RDD. Použij transformaci pracující s dvojicemi klíč–hodnota (k, v). Dobře promysli, která funkce je pro tento účel vhodná.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)