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
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]))