CommencezCommencez gratuitement

D'autres astuces pour les ID

Une fois que vous avez défini un processus Spark, vous voudrez probablement le réutiliser souvent. Selon vos besoins, vous pourriez vouloir démarrer vos identifiants (ID) à une valeur précise afin d'éviter tout chevauchement avec les exécutions précédentes de la tâche Spark. Ce comportement est semblable à celui des ID dans une base de données relationnelle. On vous a confié la tâche de faire en sorte que les ID produits par une tâche Spark mensuelle commencent à la valeur la plus élevée du mois précédent.

La session spark et deux DataFrames, voter_df_march et voter_df_april, 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

Voir le cours

Instructions de l’exercice

  • Déterminez le ROW_ID le plus élevé dans voter_df_march et enregistrez-le dans la variable previous_max_ID. L'instruction .rdd.max()[0] permet d'obtenir l'ID maximal.
  • Ajoutez une colonne ROW_ID à voter_df_april en commençant à la valeur previous_max_ID + 1.
  • Affichez les ROW_ID des deux DataFrames et comparez-les.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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