Zacznij terazZacznij za darmo

Wyświetlanie częstości słów

Po połączeniu wartości (liczników) z tym samym kluczem (słowem) w tym ćwiczeniu zwrócisz 10 pierwszych częstości słów. Można by pobrać wszystkie elementy naraz za pomocą collect(), ale to zła praktyka, której należy unikać. RDD potrafią być ogromne – możesz wyczerpać pamięć i doprowadzić do awarii programu.

Co zrobić, jeśli chcemy zwrócić 10 najczęstszych słów? W tym celu najpierw zamienisz klucze (słowa) z wartościami (licznikami), tak aby kluczem była liczba wystąpień, a wartością – słowo. Na razie w result_RDD klucz to element 0, a wartość to element 1. Po zamianie kluczy i wartości w krotce posortuj sparowane RDD według klucza (licznika). Dzięki temu sortowanie RDD po kluczu jest prostsze niż użycie operacji sortByKey w PySpark. Na koniec zwrócisz 10 najczęstszych słów na podstawie ich częstości z posortowanego RDD.

W swoim środowisku pracy masz już dostępne SparkContext sc oraz resultRDD.

To ćwiczenie jest częścią kursu

Podstawy Big Data z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl 10 pierwszych słów wraz z ich częstościami z RDD resultRDD.
  • Zamień klucze i wartości w resultRDD.
  • Posortuj klucze w kolejności malejącej.
  • Wyświetl 10 najczęściej występujących słów wraz z ich częstościami z posortowanego RDD.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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]))
Edytuj i uruchom kod