Przypisywanie identyfikatorów całkowitoliczbowych do filmów
Zróbmy to samo dla filmów. Następnie połączymy nowe identyfikatory użytkowników i filmów w jeden DataFrame.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Użyj metod
.select()i.distinct(), aby wyodrębnić wszystkie unikalne wartościMoviez DataFrameratings. - Podziel DataFrame
moviesna jedną partycję za pomocącoalesce(). - Uzupełnij podany częściowy kod, aby przypisać unikalne identyfikatory całkowitoliczbowe do każdego filmu. Nadaj nowej kolumnie nazwę
movieIdi wywołaj metodę.persist()na wynikowym DataFrame. - Połącz DataFrame
ratingsz DataFrameusers, a następnie z DataFramemovies. Wynik nazwijmovie_ratings.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()