Atribuirea de ID-uri întregi filmelor
Să facem același lucru și pentru filme. Apoi vom uni noile ID-uri de utilizatori și ID-urile de filme într-un singur dataframe.
Acest exercițiu face parte din cursul
Construiește motoare de recomandare cu PySpark
Instrucțiuni pentru exercițiu
- Folosește metodele
.select()și.distinct()pentru a extrage toate filmele (Movie) unice din dataframe-ulratings. - Repartizează dataframe-ul
moviesla o singură partiție folosindcoalesce(). - Completează codul parțial furnizat pentru a atribui ID-uri întregi unice fiecărui film. Numește noua coloană
movieIdși aplică metoda.persist()pe dataframe-ul rezultat. - Unește dataframe-ul
ratingscu dataframe-ulusersși apoi cu dataframe-ulmovies. Numește rezultatulmovie_ratings.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()