Autres astuces d'identification
Une fois que vous aurez défini un processus Spark, vous voudrez probablement l'utiliser à de nombreuses reprises. En fonction de vos besoins, vous souhaiterez peut-être commencer vos ID à une certaine valeur afin d'éviter tout chevauchement avec les exécutions précédentes de la tâche Spark. Ce comportement est similaire à celui des ID dans une base de données relationnelle. On vous a confié la tâche de veiller à ce que les identifiants produits par une tâche Spark mensuelle commencent par la valeur la plus élevée du mois précédent.
La session spark
et deux DataFrame, 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 la plus élevée de
ROW_ID
dansvoter_df_march
et enregistrez-la dans la variableprevious_max_ID
. La déclaration.rdd.max()[0]
obtiendra le maximum d'ID. - Ajoutez une colonne
ROW_ID
àvoter_df_april
en commençant par la valeurprevious_max_ID
+ 1. - Montrez les
ROW_ID
des deux cadres de données et comparez-les.
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()
____