เมธอด GroupBy และ Filter
เมื่อเราทำความรู้จักกับชุดข้อมูลนี้มากขึ้นแล้ว มาดูเมตริกสรุปทั่วไปของชุดข้อมูล ratings กัน โดยจะดูว่าแต่ละภาพยนตร์ได้รับการให้คะแนนไปกี่ครั้ง และผู้ใช้แต่ละคนให้คะแนนไปกี่ครั้ง
เมธอดสองตัวที่จะช่วยให้การรวบรวมสถิติสรุปใน Spark ทำได้สะดวกขึ้น ได้แก่ .filter() และ .groupBy() โดย .filter() ใช้กรองข้อมูลที่ไม่ตรงตามเงื่อนไขที่กำหนดออกไป
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- นำเข้า
colจากpyspark.sql.functionsแล้วแสดงชุดข้อมูลratingsด้วย.show() - ใช้เมธอด
.filter()กับชุดข้อมูลratingsโดยใส่เงื่อนไขต่อไปนี้ในวงเล็บเพื่อคัดเฉพาะuserIdที่น้อยกว่า 100:col("userId") < 100 - เรียกเมธอด
.groupBy()บนชุดข้อมูลratingsเพื่อจัดกลุ่มข้อมูลตามuserIdจากนั้นเรียก.count()เพื่อดูว่าแต่ละuserIdให้คะแนนภาพยนตร์ไปกี่เรื่อง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the requisite packages
from pyspark.sql.____ import ____
# View the ratings dataset
____.____()
# Filter to show only userIds less than 100
ratings.____(col("____") < ____).____()
# Group data by userId, count ratings
ratings.____("____").count().show()