Crie umRDD base e transforme-o
O volume de dados não estruturados (linhas de registro, imagens, arquivos binários) existentes está crescendo dramaticamente, e o PySpark é uma excelente estrutura para analisar esse tipo de dados por meio de RDDs. Neste exercício de três partes, você escreverá um código que calcula as palavras mais comuns da Obra completa de William Shakespeare.
Aqui estão as etapas resumidas para você escrever o programa de contagem de palavras:
- Crie um RDD base a partir do arquivo
Complete_Shakespeare.txt
. - Use a transformação do RDD para criar uma longa lista de palavras a partir de cada elemento do RDD base.
- Remova as palavras vazias (stop words) de seus dados.
- Crie um RDD de pares em que cada elemento é uma tupla de pares de
('w', 1)
- Agrupe os elementos do RDD de pares por chave (palavra) e some seus valores.
- Troque as chaves (palavra) e os valores (contagens) de modo que as chaves sejam a contagem e o valor seja a palavra.
- Por fim, classifique o RDD em ordem decrescente e imprima as 10 palavras mais frequentes e suas frequências.
Neste primeiro exercício, você criará um RDD base a partir do arquivo Complete_Shakespeare.txt
e o transformará para criar uma longa lista de palavras.
Lembre-se de que você já tem um SparkContext sc
disponível em seu espaço de trabalho. Uma variável file_path
(que é o caminho para o arquivo Complete_Shakespeare.txt
) também é carregada para você.
Este exercício faz parte do curso
Fundamentos de Big Data com PySpark
Instruções de exercício
- Crie um RDD chamado
baseRDD
que leia as linhas defile_path
. - Transforme o
baseRDD
em uma longa lista de palavras e crie um novosplitRDD
. - Conte o número total de palavras em
splitRDD
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# Create a baseRDD from the file path
baseRDD = sc.____(file_path)
# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())
# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())