CommencerCommencer gratuitement

Ajouter un champ d’ID

Lorsque vous travaillez avec des données, vous souhaitez parfois n’accéder qu’à certains champs et réaliser 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 dans Spark sont attribués en fonction de la partition du DataFrame : les valeurs d’ID peuvent donc être bien supérieures au nombre réel de lignes du DataFrame.

Avec le traitement lazy de Spark, les ID ne sont effectivement générés qu’au moment où une action est exécutée et peuvent sembler quelque 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.

Cet exercice fait partie du cours

Nettoyer des données avec PySpark

Afficher le cours

Instructions

  • Sélectionnez les entrées uniques de la colonne VOTER NAME et créez un nouveau DataFrame nommé voter_df.
  • Comptez les lignes du DataFrame voter_df.
  • Ajoutez une colonne ROW_ID à l’aide de la fonction Spark appropriée.
  • Affichez les lignes avec les 10 plus grands ROW_ID.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(____)
Modifier et exécuter le code