Eliminar las palabras vacías y reducir el conjunto de datos
En este ejercicio eliminarás las palabras vacías de tus datos. Las palabras vacías son palabras comunes que a menudo carecen de interés, como "yo", "el", "un", etc. Puedes eliminar muchas palabras vacías obvias con una lista propia. Sin embargo, en este ejercicio te limitarás a eliminar las palabras vacías de la lista seleccionada stop_words
, que se te proporciona en tu entorno.
Tras eliminar las palabras vacías, crearás un par RDD en el que cada elemento sea una tupla par (k, v)
en la que k
es la clave y v
es el valor. En este ejemplo, el par RDD está formado por (w, 1)
, donde w
representa cada palabra del RDD y 1 es un número. Por último, combinarás los valores con la misma clave del par RDD para contar el número de apariciones de cada palabra.
Recuerda que ya tienes sc
y splitRDD
de SparkContext disponibles en tu espacio de trabajo, junto con la variable de lista stop_words
.
Este ejercicio forma parte del curso
Fundamentos de big data con PySpark
Instrucciones de ejercicio
- Filtra
splitRDD
eliminando las palabras vacías que figuran en la variablestop_words
. - Crea una tupla par RDD que contenga la palabra (utilizando el iterador
w
) y el número1
de cada palabra ensplitRDD
. - Obtén el recuento del número de apariciones de cada palabra (frecuencia de la palabra) en el par RDD. Utiliza una transformación que opere sobre pares clave-valor (k,v). Piensa bien qué función utilizar aquí.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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)