GroupBy 與 Filter 方法
既然我們對資料集有了更多認識,接下來來看一下 ratings 資料集的一些整體摘要指標,了解每部電影有多少評分,以及每位使用者提供了多少評分。
在 Spark 裡進行彙整統計時,兩個常用且實用的方法是 .filter() 和 .groupBy()。.filter() 方法可以依照你指定的條件,篩掉不符合的資料。
本練習屬於課程
使用 PySpark 打造推薦引擎
練習說明
- 從
pyspark.sql.functions匯入col,並使用.show()檢視ratings資料集。 - 在
ratings資料集上套用.filter()方法,於括號中加入以下條件,只保留小於 100 的userId:col("userId") < 100。 - 對
ratings資料集呼叫.groupBy(),以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()