始める無料で始める

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()
コードを編集して実行