Aggiungere un campo ID
Quando lavori con i dati, a volte vuoi accedere solo a determinati campi ed eseguire varie operazioni. In questo caso, trova tutti i nomi di elettori univoci nel DataFrame e aggiungi un ID numerico univoco. Ricorda che gli ID in Spark sono assegnati in base alla partizione del DataFrame: per questo i valori degli ID possono essere molto più grandi del numero effettivo di righe nel DataFrame.
Con l’elaborazione lazy di Spark, gli ID non vengono effettivamente generati finché non esegui un’azione e possono risultare in parte casuali a seconda della dimensione del dataset.
La sessione spark e un DataFrame Spark df contenente il file DallasCouncilVotes.csv.gz 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
- Seleziona le voci univoche dalla colonna
VOTER NAMEe crea un nuovo DataFrame chiamatovoter_df. - Conta le righe del DataFrame
voter_df. - Aggiungi una colonna ROW_ID usando l’apposita funzione di Spark.
- Mostra le righe con i 10 ROW_ID più alti.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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(____)