Metody GroupBy i Filter
Teraz, gdy wiemy już nieco więcej o zbiorze danych, przyjrzyjmy się ogólnym statystykom podsumowującym zbioru ratings i sprawdźmy, ile ocen mają poszczególne filmy oraz ile ocen wystawił każdy użytkownik.
Dwie metody, które przydadzą ci się podczas agregowania statystyk w Sparku, to .filter() i .groupBy(). Metoda .filter() pozwala odfiltrować dane, które nie spełniają określonych kryteriów.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Zaimportuj
colz bibliotekipyspark.sql.functionsi wyświetl zbiór danychratingsza pomocą.show(). - Zastosuj metodę
.filter()na zbiorze danychratings, podając w nawiasie poniższy warunek, aby uwzględnić tylkouserIdmniejsze niż 100:col("userId") < 100. - Wywołaj metodę
.groupBy()na zbiorze danychratings, aby pogrupować dane wedługuserId. Następnie wywołaj metodę.count(), aby sprawdzić, ile filmów ocenił każdyuserId.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()