Gehele-ID's toekennen aan films
Laten we hetzelfde doen voor de films. Voeg daarna de nieuwe user-ID's en movie-ID's samen in één dataframe.
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen met PySpark
Oefeninstructies
- Gebruik de methoden
.select()en.distinct()om alle uniekeMovies uit hetratings-dataframe te halen. - Herpartitioneer het
movies-dataframe naar één partitie metcoalesce(). - Maak de gegeven gedeeltelijke code af om unieke gehele ID's aan elke film toe te kennen. Noem de nieuwe kolom
movieIden roep de methode.persist()aan op het resulterende dataframe. - Voer een join uit van het
ratings-dataframe met hetusers-dataframe en vervolgens met hetmovies-dataframe. Noem het resultaatmovie_ratings.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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()