Вилучення стоп-слів і зменшення набору даних
У цій вправі ви вилучите стоп-слова з ваших даних. Стоп-слова — це поширені, зазвичай неінформативні слова, наприклад «I», «the», «a» тощо. Багато очевидних стоп-слів можна прибрати власним списком. Але в цій вправі ви вилучите лише ті, що містяться в підготовленому списку stop_words, наданому у вашому середовищі.
Після вилучення стоп-слів ви створите парний RDD, де кожен елемент — це парний кортеж (k, v), де k — ключ, а v — значення. У нашому прикладі парний RDD складається з (w, 1), де w — кожне слово в RDD, а 1 — це число. Нарешті, ви об'єднаєте значення з однаковим ключем у парному RDD, щоб підрахувати кількість входжень кожного слова.
Пам'ятайте, що у вашому робочому середовищі вже доступні SparkContext sc і splitRDD, а також змінна-список stop_words.
Ця вправа є частиною курсу
Основи Big Data з PySpark
Інструкції до вправи
- Відфільтруйте
splitRDD, вилучивши стоп-слова зі списку в зміннійstop_words. - Створіть парний кортеж RDD, який містить слово (використовуючи ітератор
w) і число1для кожного елемента-слова вsplitRDD. - Отримайте підрахунок кількості входжень кожного слова (частоти слів) у парному RDD. Використайте трансформацію, що працює з парами ключ-значення (k,v). Добре обміркуйте, яку функцію тут застосувати.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)