Añadir un campo ID
Cuando trabajas con datos, a veces sólo quieres acceder a determinados campos y realizar diversas operaciones. En este caso, busca todos los nombres únicos de votantes del DataFrame y añade un número único ID. Recuerda que Spark IDs se asigna en función de la partición del DataFrame, por lo que los valores de ID pueden ser mucho mayores que el número real de filas del DataFrame.
Con el procesamiento perezoso de Spark, los IDs no se generan realmente hasta que se realiza una acción y pueden ser algo aleatorios en función del tamaño del conjunto de datos.
La sesión spark
y un Spark DataFrame df
que contiene el archivo DallasCouncilVotes.csv.gz
están disponibles en tu espacio de trabajo. La biblioteca pyspark.sql.functions
está disponible con el alias F
.
Este ejercicio forma parte del curso
Limpiar datos con PySpark
Instrucciones de ejercicio
- Selecciona las entradas únicas de la columna
VOTER NAME
y crea un nuevo DataFrame llamadovoter_df
. - Cuenta las filas del DataFrame
voter_df
. - Añade una columna ROW_ID utilizando la función Spark adecuada.
- Muestra las filas con los 10 ROW_IDs más altos.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Select all the unique council voters
voter_df = df.____(df["VOTER NAME"]).____()
# Count the rows in voter_df
print("\nThere are %d rows in the voter_df DataFrame.\n" % ____)
# Add a ROW_ID
voter_df = voter_df.____('ROW_ID', F.____())
# Show the rows with 10 highest IDs in the set
voter_df.orderBy(voter_df.____.desc()).show(____)