Tilldela heltals-ID:n till filmer
Nu gör vi samma sak för filmerna. Sedan slår vi ihop de nya användar-ID:na och film-ID:na i en enda dataram.
Den här övningen är en del av kursen
Bygg rekommendationsmotorer med PySpark
Övningsinstruktioner
- Använd metoderna
.select()och.distinct()för att extrahera alla unikaMovies från dataramenratings. - Partitionera om dataramen
moviestill en enda partition med hjälp avcoalesce(). - Fyll i den ofullständiga koden för att tilldela unika heltals-ID:n till varje film. Ge den nya kolumnen namnet
movieIdoch anropa metoden.persist()på den resulterande dataramen. - Joina dataramen
ratingsmed dataramenusersoch sedan med dataramenmovies. Kalla resultatetmovie_ratings.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()