始める無料で始める

映画に整数IDを割り当てる

今度は映画に対して同じ処理を行いましょう。次に、新しいユーザーIDと映画IDを1つのデータフレームに結合します。

この演習はコースの一部です

PySpark で作る Recommendation Engines

コースを見る

演習の手順

  • .select().distinct() メソッドを使って、ratings データフレームから一意なすべての Movie を抽出します。
  • coalesce() を使って、movies データフレームを1パーティションに再パーティションします。
  • それぞれの映画に一意の整数IDを割り当てるために、与えられた部分コードを完成させます。新しい列名は movieId とし、結果のデータフレームに対して .persist() メソッドを呼び出します。
  • ratings データフレームを users データフレームに結合し、その後に movies データフレームへ結合します。結果を movie_ratings と名付けます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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()
コードを編集して実行