Začněte nyníZačněte zdarma

Výpis frekvencí slov

Po sloučení hodnot (počtů) se stejným klíčem (slovem) teď vrátíš prvních 10 frekvencí slov. Všechny prvky najednou bys mohl/a získat pomocí collect(), ale to se nedoporučuje a považuje se to za špatnou praxi. RDD mohou být obrovská – snadno ti dojde paměť a počítač přestane reagovat.

Co kdybychom chtěli vrátit 10 nejčastějších slov? K tomu nejdřív prohodíš klíč (slovo) a hodnotu (počet) tak, aby klíčem byl počet a hodnotou slovo. V tuto chvíli má result_RDD klíč jako prvek 0 a hodnotu jako prvek 1. Po prohození klíče a hodnoty v n-tici seřadíš párové RDD podle klíče (počtu). Díky tomu je řazení RDD podle klíče snazší než použití operace sortByKey v PySparku. Nakonec vrátíš 10 slov s nejvyšší frekvencí z seřazeného RDD.

V pracovním prostředí máš k dispozici SparkContext sc a resultRDD.

Toto cvičení je součástí kurzu

Big Data Fundamentals with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vypiš prvních 10 slov a jejich frekvence z RDD resultRDD.
  • Prohoď klíče a hodnoty v resultRDD.
  • Seřaď klíče sestupně.
  • Vypiš 10 nejčastějších slov a jejich frekvence ze seřazeného RDD.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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]))
Upravit a spustit kód