ПочатиПочніть безкоштовно

Виведіть частоти слів

Після об'єднання значень (кількостей) з однаковим ключем (словом) у цій вправі ви повернете перші 10 частот слів. Можна було б отримати всі елементи одразу за допомогою collect(), але це погана практика й не рекомендується. RDD можуть бути величезними: ви можете вичерпати пам'ять і зруйнувати роботу комп'ютера.

А що, якщо ми хочемо повернути топ-10 слів? Для цього спочатку потрібно поміняти місцями ключ (слово) і значення (кількість), щоб ключем стала кількість, а значенням — слово. Зараз у result_RDD ключ — елемент 0, а значення — елемент 1. Після того як ви поміняєте ключ і значення місцями у кортежі, відсортуйте парний RDD за ключем (кількістю). Так легше впорядкувати RDD за ключем, ніж використовувати операцію sortByKey у PySpark. Нарешті, поверніть перші 10 слів за їхньою частотою з відсортованого RDD.

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

Ця вправа є частиною курсу

Основи Big Data з PySpark

Переглянути курс

Інструкції до вправи

  • Виведіть перші 10 слів і їхні частоти з 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]))
Редагувати та запускати код