กำหนด ID จำนวนเต็มให้กับภาพยนตร์
ทำแบบเดียวกันกับข้อมูลภาพยนตร์ จากนั้นนำ ID ผู้ใช้และ ID ภาพยนตร์ที่ได้มารวมกันในหนึ่ง dataframe
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- ใช้เมธอด
.select()และ.distinct()เพื่อดึงค่าMovieที่ไม่ซ้ำกันทั้งหมดจาก dataframeratings - แบ่ง dataframe
moviesให้เหลือหนึ่ง partition โดยใช้coalesce() - เติมโค้ดที่ให้ไว้ให้สมบูรณ์เพื่อกำหนด ID จำนวนเต็มเฉพาะให้กับภาพยนตร์แต่ละเรื่อง ตั้งชื่อคอลัมน์ใหม่ว่า
movieIdและเรียกเมธอด.persist()บน dataframe ที่ได้ - Join dataframe
ratingsเข้ากับ dataframeusersแล้วต่อด้วย dataframemoviesเรียกผลลัพธ์ที่ได้ว่า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()