Encore plus d’astuces sur les identifiants
Une fois que vous avez défini un processus Spark, vous voudrez probablement le réutiliser souvent. Selon vos besoins, vous pouvez souhaiter démarrer vos identifiants à une certaine valeur pour éviter tout chevauchement avec les exécutions précédentes de la tâche Spark. Ce comportement est similaire à celui des identifiants dans une base de données relationnelle. Votre mission est de faire en sorte que les identifiants 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.
Cet exercice fait partie du cours
Nettoyer des données avec PySpark
Instructions
- Déterminez la valeur maximale de
ROW_IDdansvoter_df_marchet enregistrez-la dans la variableprevious_max_ID. L’instruction.rdd.max()[0]permet d’obtenir l’identifiant maximum. - Ajoutez une colonne
ROW_IDàvoter_df_aprilen commençant à la valeurprevious_max_ID+ 1. - Affichez les
ROW_IDdes deux DataFrames et comparez.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()
____