Usuń stop words i zredukuj zbiór danych
W tym ćwiczeniu usuniesz stop words ze swoich danych. Stop words to popularne słowa, które zazwyczaj nie niosą ze sobą istotnych informacji – na przykład „I", „the", „a" itp. Wiele oczywistych stop words możesz usunąć, tworząc własną listę. W tym ćwiczeniu jednak skorzystasz z gotowej listy stop_words dostępnej w twoim środowisku.
Po usunięciu stop words utworzysz parowy RDD, w którym każdy element to krotka pary (k, v), gdzie k to klucz, a v to wartość. W tym przypadku parowy RDD składa się z par (w, 1), gdzie w oznacza kolejne słowo z RDD, a 1 to przypisana mu liczba. Na koniec połączysz wartości o tym samym kluczu z parowego RDD, aby policzyć liczbę wystąpień każdego słowa.
Pamiętaj, że w twoim środowisku są już dostępne: SparkContext sc, splitRDD oraz zmienna stop_words z listą stop words.
To ćwiczenie jest częścią kursu
Podstawy Big Data z PySpark
Instrukcje do ćwiczenia
- Przefiltruj
splitRDD, usuwając stop words z listystop_words. - Utwórz krotkę parowego RDD zawierającą słowo (używając iteratora
w) oraz liczbę1dla każdego elementu wsplitRDD. - Oblicz liczbę wystąpień każdego słowa (częstość słów) w parowym RDD. Użyj transformacji operującej na parach klucz-wartość (k, v). Zastanów się, której funkcji użyć.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)