Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Använd metoderna .select() och .distinct() för att extrahera alla unika Movies från dataramen ratings.
  • Partitionera om dataramen movies till en enda partition med hjälp av coalesce().
  • Fyll i den ofullständiga koden för att tilldela unika heltals-ID:n till varje film. Ge den nya kolumnen namnet movieId och anropa metoden .persist() på den resulterande dataramen.
  • Joina dataramen ratings med dataramen users och sedan med dataramen movies. Kalla resultatet movie_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()
Redigera och kör kod