Mais truques do ID
Depois de definir um processo Spark, é provável que você queira usá-lo muitas vezes. Dependendo das suas necessidades, você pode querer iniciar o IDs em um determinado valor para que não haja sobreposição com execuções anteriores da tarefa do Spark. Esse comportamento é semelhante ao que IDs teria em um banco de dados relacional. Você recebeu a tarefa de garantir que a saída do IDs de uma tarefa mensal do Spark comece com o valor mais alto do mês anterior.
A sessão spark
e dois DataFrames, voter_df_march
e voter_df_april
, estão disponíveis em seu espaço de trabalho. A biblioteca pyspark.sql.functions
está disponível sob o pseudônimo F
.
Este exercício faz parte do curso
Limpeza de dados com o PySpark
Instruções de exercício
- Determine o maior
ROW_ID
emvoter_df_march
e salve-o na variávelprevious_max_ID
. A declaração.rdd.max()[0]
obterá o máximo de ID. - Adicione uma coluna
ROW_ID
avoter_df_april
começando com o valor deprevious_max_ID
+ 1. - Mostre o
ROW_ID
's de ambos os quadros de dados e compare.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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()
____