Attribuer des identifiants entiers aux films
Faisons la même chose pour les films. Puis joignons les nouveaux ID utilisateurs et les ID films dans un seul dataframe.
Cet exercice fait partie du cours
<cours>Créer des moteurs de recommandation avec PySpark</cours>Instructions de l’exercice
- Utilisez les méthodes
.select()et.distinct()pour extraire toutes les valeurs uniques deMoviedepuis le dataframeratings. - Répartissez le dataframe
moviesen une seule partition aveccoalesce(). - Complétez le code partiel fourni pour attribuer des identifiants entiers uniques à chaque film. Nommez la nouvelle colonne
movieIdet appelez la méthode.persist()sur le dataframe obtenu. - Faites un
joindu dataframeratingsavec le dataframeusers, puis avec le dataframemovies. Nommez le résultatmovie_ratings.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Extract the distinct movie id's
movies = ratings.select("____").distinct()
# Repartition the data to have only one partition.
movies = movies.coalesce(____)
# Create a new column of movieId integers.
movies = movies.withColumn("____", monotonically_increasing_id()).____()
# Join the ratings, users and movies dataframes
movie_ratings = ratings.join(____, "User", "left").join(____, "Movie", "left")
movie_ratings.show()