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 do exercício
- Determine o maior
ROW_IDemvoter_df_marche salve-o na variávelprevious_max_ID. A declaração.rdd.max()[0]obterá o máximo de ID. - Adicione uma coluna
ROW_IDavoter_df_aprilcomeç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 completando 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()
____