GroupBy と Filter メソッド
データセットについて少しわかってきたので、ratings データセットの概要指標を見て、各映画にいくつの評価があり、各ユーザーがいくつ評価を付けたかを確認しましょう。
Spark で要約統計量を集計するときに役立つ一般的なメソッドとして、.filter() と .groupBy() があります。.filter() メソッドは、指定した条件を満たさないデータを除外できます。
この演習はコースの一部です
PySpark で作る Recommendation Engines
演習の手順
pyspark.sql.functionsからcolをインポートし、.show()を使ってratingsデータセットを表示します。- かっこ内に
col("userId") < 100という条件を入れて、ratingsデータセットに.filter()メソッドを適用し、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()