Удалите стоп-слова и сократите набор данных
В этом упражнении вы удалите стоп-слова из данных. Стоп-слова — это распространённые слова, которые, как правило, не несут смысловой нагрузки: например, «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)