การ Join กับข้อมูล Ratings
จากวิดีโอก่อนหน้า คุณได้เห็นวิธีใช้ transformation ใน PySpark โดยการ join ตาราง film และ ratings เพื่อสร้างคอลัมน์ใหม่ที่เก็บค่าเรตติ้งเฉลี่ยต่อลูกค้า
ในแบบฝึกหัดนี้ จะใช้เทคนิคเดียวกันเพื่อสร้างความเชื่อมโยงระหว่างตาราง film และ ratings โดยคำนวณค่าเรตติ้งเฉลี่ยสำหรับภาพยนตร์แต่ละเรื่อง
PySpark DataFrame ของภาพยนตร์คือ film_df และ PySpark DataFrame ของ ratings คือ rating_df ซึ่งพร้อมใช้งานแล้วใน workspace
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Data Engineering เบื้องต้น
คำแนะนำการฝึกหัด
- คำนวณค่าเรตติ้งเฉลี่ยต่อ
film_idแล้วกำหนดผลลัพธ์ให้กับตัวแปรratings_per_film_df - เติมคำสั่ง
.join()ให้สมบูรณ์โดย join บนคอลัมน์film_id - แสดง
5แถวแรกของ DataFrame ที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use groupBy and mean to aggregate the column
ratings_per_film_df = rating_df.____('____').____('____')
# Join the tables using the film_id column
film_df_with_ratings = film_df.join(
ratings_per_film_df,
film_df.film_id==____
)
# Show the 5 first results
print(film_df_with_ratings.____)