ComeçarComece gratuitamente

Imprimir frequências de palavras

Depois de combinar os valores (contagens) com a mesma chave (palavra), neste exercício, você retornará as 10 primeiras frequências de palavras. Você poderia ter recuperado todos os elementos de uma vez usando collect(), mas essa é uma prática ruim e não recomendada. Os RDDs podem ser enormes: o computador pode ficar sem memória e travar.

E se quisermos retornar as 10 principais palavras? Para isso, primeiro você precisará trocar a chave (palavra) e os valores (contagens) para que as chaves sejam a contagem e o valor seja a palavra. No momento, result_RDD tem a chave como elemento 0 e o valor como elemento 1. Depois de trocar a chave e o valor na tupla, você classificará o RDD de pares com base na chave (contagem). Dessa forma, é fácil classificar o RDD com base na chave, em vez de usar a operação sortByKey no PySpark. Por fim, você retornará as 10 principais palavras com base em suas frequências no RDD classificado.

Você já tem um SparkContext sc e resultRDD disponíveis em seu espaço de trabalho.

Este exercício faz parte do curso

Fundamentos de Big Data com PySpark

Ver Curso

Instruções de exercício

  • Imprima as 10 primeiras palavras e suas frequências de resultRDD RDD.
  • Troque as chaves e os valores em resultRDD.
  • Classifique as chaves de acordo com a ordem decrescente.
  • Imprima as 10 palavras mais frequentes e suas frequências a partir do RDD classificado.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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]))
Editar e executar código