CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Déterminez la valeur la plus élevée de ROW_ID dans voter_df_march et enregistrez-la dans la variable previous_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 valeur previous_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()
____
Modifier et exécuter le code