Filmlere tamsayı kimlikler atama
Aynısını filmler için de yapalım. Sonra yeni kullanıcı kimliklerini ve film kimliklerini tek bir dataframe'de birleştirelim.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Öneri Motorları Oluşturma
Egzersiz talimatları
ratingsdataframe'inden tüm benzersizMovieları çıkarmak için.select()ve.distinct()metotlarını kullan.coalesce()kullanarakmoviesdataframe'ini tek bölüme yeniden bölüştür.- Her filme benzersiz tamsayı ID atamak için verilen kısmi kodu tamamla. Yeni sütunun adını
movieIdyap ve ortaya çıkan dataframe üzerinde.persist()metodunu çağır. ratingsdataframe'iniusersdataframe'iyle ve ardındanmoviesdataframe'iyle birleştir. Sonucamovie_ratingsadını ver.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()