1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Budowanie silników rekomendacji w PySpark

Connected

cvičení

Podgląd schematu

Jak wiesz z poprzednich rozdziałów, implementacja ALS w Sparku wymaga, aby kolumny movieId i userId były w formacie całkowitoliczbowym (integer). Wiele zbiorów danych wymaga odpowiedniego przygotowania, zanim będą poprawnie współpracować ze Sparkiem. Częstym problemem jest to, że Spark traktuje liczby jako ciągi znaków – i odwrotnie.

W tym ćwiczeniu użyjesz metody .cast(), aby rozwiązać tego rodzaju problemy. Zacznij od sprawdzenia schematu zbioru danych i upewnij się, że dane mają właściwy format.

Pokyny

100 XP
  • Użyj .printSchema(), aby sprawdzić, czy zbiór danych z ocenami zawiera odpowiednie typy danych dla ALS. Czy kolumny userId i movieId są typu integer? Czy kolumna rating ma format liczbowy?
  • Upewnij się, że kolumny ramki danych ratings mają właściwe typy danych. Wywołaj metodę cast() na każdej kolumnie: ustaw userID i movieId jako typ "integer", a rating jako typ "double". (Kolumna timestamp nie jest nam potrzebna, więc możesz ją pominąć.)
  • Wywołaj .printSchema() ponownie na ratings, aby potwierdzić, że typy danych są teraz poprawne.