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
Instructions de l’exercice
- Déterminez le
ROW_IDle plus élevé dansvoter_df_marchet enregistrez-le dans la variableprevious_max_ID. L'instruction.rdd.max()[0]permet d'obtenir l'ID maximal. - Ajoutez une colonne
ROW_IDàvoter_df_aprilen commençant à la valeurprevious_max_ID+ 1. - Affichez les
ROW_IDdes 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()
____