Remover palavras vazias e reduzir o conjunto de dados
Neste exercício, você removerá palavras vazias dos seus dados. Palavras vazias (stop words) são palavras comuns que geralmente não são interessantes, por exemplo (em inglês), "I", "the", "a", etc. Você pode remover muitas palavras vazias óbvias com uma lista própria. Mas, para este exercício, você apenas removerá as palavras vazias de uma lista selecionada stop_words
fornecida a você em seu ambiente.
Após remover as palavras vazias, você criará um RDD de pares em que cada elemento é uma tupla de pares (k, v)
, onde k
é a chave e v
é o valor. Neste exemplo, o RDD de pares é composto por (w, 1)
, em que w
é para cada palavra em RDD e 1 é um número. Por fim, você combinará os valores com a mesma chave do RDD de pares para contar o número de ocorrências de cada palavra.
Lembre-se de que você já tem um SparkContext sc
e splitRDD
disponíveis em seu espaço de trabalho, juntamente com a variável de lista stop_words
.
Este exercício faz parte do curso
Fundamentos de Big Data com PySpark
Instruções do exercício
- Filtre
splitRDD
, removendo as palavras vazias listadas na variávelstop_words
. - Crie uma tupla de RDD de pares contendo a palavra (usando o iterador
w
) e o número1
de cada elemento da palavra emsplitRDD
. - Obtenha a contagem do número de ocorrências de cada palavra (frequência de palavras) no RDD de pares. Use uma transformação que opere em pares de chave e valor (k,v). Pense cuidadosamente sobre qual função você deve usar aqui.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Filter splitRDD to remove stop words from the stop_words curated list
splitRDD_no_stop = splitRDD.____(lambda x: x.lower() not in ____)
# Create a tuple of the word (w) and 1
splitRDD_no_stop_words = splitRDD_no_stop.map(lambda w: (____, ____))
# Count of the number of occurences of each word
resultRDD = splitRDD_no_stop_words.____(lambda x, y: x + y)