Ajouter un champ d'ID
Lorsque vous travaillez avec des données, vous voulez parfois accéder seulement à certains champs et appliquer diverses opérations. Ici, trouvez tous les noms d'électeurs uniques dans le DataFrame et ajoutez un identifiant numérique unique. Rappelez-vous que les ID de Spark sont attribués selon la partition du DataFrame ; ainsi, les valeurs d'ID peuvent être bien plus élevées que le nombre réel de lignes dans le DataFrame.
Avec le traitement paresseux de Spark, les ID ne sont réellement générés qu'au moment d'une action, et ils peuvent sembler un peu aléatoires selon la taille du jeu de données.
La session spark et un DataFrame Spark df contenant le fichier DallasCouncilVotes.csv.gz sont disponibles dans votre espace de travail. La bibliothèque pyspark.sql.functions est disponible sous l'alias F.
Cette activité fait partie du cours
Nettoyer des données avec PySpark
Instructions de l’exercice
- Sélectionnez les entrées uniques de la colonne
VOTER NAMEet créez un nouveau DataFrame nommévoter_df. - Comptez les lignes dans le DataFrame
voter_df. - Ajoutez une colonne ROW_ID à l'aide de la fonction Spark appropriée.
- Affichez les lignes ayant les 10 plus grandes valeurs de ROW_ID.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____)