НачатьНачать бесплатно

Вывод частот слов

После объединения значений (счётчиков) с одинаковым ключом (словом) в этом упражнении вы вернёте первые 10 частот слов. Можно было бы получить все элементы сразу с помощью collect(), однако это не рекомендуется: RDD могут быть очень большими, и такой подход может привести к нехватке памяти и аварийному завершению программы.

Что если нам нужны 10 самых частых слов? Для этого сначала нужно поменять местами ключ (слово) и значение (счётчик), чтобы ключом стал счётчик, а значением — слово. Сейчас в result_RDD ключ находится на позиции 0, а значение — на позиции 1. После перестановки элементов кортежа отсортируйте парный RDD по ключу (счётчику). Такой подход удобнее, чем использование операции sortByKey в PySpark. В завершение вы вернёте 10 наиболее часто встречающихся слов из отсортированного RDD.

В вашем рабочем пространстве уже доступны SparkContext sc и resultRDD.

Это упражнение является частью курса

Основы Big Data с PySpark

Посмотреть курс

Инструкции к упражнению

  • Выведите первые 10 слов и их частоты из RDD resultRDD.
  • Поменяйте местами ключи и значения в resultRDD.
  • Отсортируйте ключи в порядке убывания.
  • Выведите 10 наиболее частых слов и их частоты из отсортированного RDD.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Display the first 10 words and their frequencies from the input RDD
for word in resultRDD.____(10):
	print(word)

# Swap the keys and values from the input RDD
resultRDD_swap = resultRDD.____(lambda x: (x[1], x[____]))

# Sort the keys in descending order
resultRDD_swap_sort = resultRDD_swap.____(ascending=False)

# Show the top 10 most frequent words and their frequencies from the sorted RDD
for word in resultRDD_swap_sort.____(____):
	print("{},{}". format(____, word[0]))
Редактировать и запускать код