Zacznij terazZacznij za darmo

Poprawny format i unikalni użytkownicy

Przyjrzyj się ramce danych R. Zauważ, że jest w konwencjonalnym, „szerokim" formacie – każdy film zajmuje osobną kolumnę. Zwróć też uwagę, że nazwy użytkowników (User) i filmów nie są w formacie całkowitoliczbowym. Wykonaj kolejne kroki, aby poprawnie przygotować te dane do użycia z algorytmem ALS.

To ćwiczenie jest częścią kursu

Budowanie silników rekomendacji w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj pakiet monotonically_increasing_id z pyspark.sql.functions i wyświetl ramkę danych R za pomocą metody .show().
  • Użyj funkcji to_long(), aby przekonwertować ramkę danych R do formatu „długiego". Nową ramkę danych nazwij ratings.
  • Utwórz ramkę danych o nazwie users, która będzie zawierać wszystkich unikalnych użytkowników (.distinct()) z ramki danych, a następnie podziel ją na jedną partycję za pomocą metody .coalesce(1).
  • Użyj metody monotonically_increasing_id() wewnątrz withColumn(), aby dodać do ramki danych users nową kolumnę z unikalną liczbą całkowitą dla każdego użytkownika. Nazwij tę kolumnę userId. Pamiętaj, aby wywołać metodę .persist() na końcowej ramce danych – dzięki temu nowe identyfikatory całkowite zostaną zachowane.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Import monotonically_increasing_id and show R
from pyspark.sql.functions import ____
R.show()

# Use the to_long() function to convert the dataframe to the "long" format.
ratings = to_long(____)
ratings.show()

# Get unique users and repartition to 1 partition
users = ratings.select("____").____().____()

# Create a new column of unique integers called "userId" in the users dataframe.
users = users.withColumn("____", monotonically_increasing_id()).____()
users.show()
Edytuj i uruchom kod