Más trucos de ID
Una vez que definas un proceso Spark, es probable que quieras utilizarlo muchas veces. Dependiendo de tus necesidades, puede que quieras iniciar tu IDs en un valor determinado para que no se solapen con ejecuciones anteriores de la tarea Spark. Este comportamiento es similar al que tendría IDs en una base de datos relacional. Se te ha encomendado la tarea de asegurarte de que la salida de IDde una tarea Spark mensual comience en el valor más alto del mes anterior.
La sesión spark
y dos DataFrames, voter_df_march
y voter_df_april
, 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 del ejercicio
- Determina el
ROW_ID
más alto envoter_df_march
y guárdalo en la variableprevious_max_ID
. La declaración.rdd.max()[0]
obtendrá el máximo ID. - Añade una columna
ROW_ID
avoter_df_april
empezando por el valor deprevious_max_ID
+ 1. - Muestra los
ROW_ID
's de ambos Marcos de Datos y compáralos.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1
# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)
# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____