Altri trucchi sugli ID
Una volta definito un processo Spark, probabilmente vorrai riutilizzarlo molte volte. In base alle tue esigenze, potresti voler far iniziare gli ID da un certo valore per evitare sovrapposizioni con esecuzioni precedenti del task Spark. Questo comportamento è simile a come funzionano gli ID in un database relazionale. Ti è stato assegnato il compito di assicurarti che gli ID prodotti da un task Spark mensile partano dal valore più alto del mese precedente.
La sessione spark e due DataFrame, voter_df_march e voter_df_april, sono disponibili nel tuo workspace. La libreria pyspark.sql.functions è disponibile con l'alias F.
Questo esercizio fa parte del corso
Pulizia dei dati con PySpark
Istruzioni dell'esercizio
- Determina il
ROW_IDpiù alto invoter_df_marche salvalo nella variabileprevious_max_ID. L'istruzione.rdd.max()[0]restituirà l'ID massimo. - Aggiungi una colonna
ROW_IDavoter_df_aprilche inizi dal valoreprevious_max_ID+ 1. - Mostra i
ROW_IDdi entrambi i Data Frame e confrontali.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()
____