ÎncepețiÎncepe gratuit

Format corect și utilizatori distincți

Aruncă o privire la dataframe-ul R. Observă că acesta este în formatul convențional sau „wide", cu câte un film diferit în fiecare coloană. De asemenea, observă că numele utilizatorilor (User) și numele filmelor nu sunt în format întreg. Urmează pașii de mai jos pentru a pregăti corect aceste date pentru ALS.

Acest exercițiu face parte din cursul

Construiește motoare de recomandare cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă pachetul monotonically_increasing_id din pyspark.sql.functions și vizualizează dataframe-ul R folosind metoda .show().
  • Folosește funcția to_long() pentru a converti dataframe-ul R într-un dataframe în format „long". Numește noul dataframe ratings.
  • Creează un dataframe numit users care să conțină toți utilizatorii .distinct() din dataframe și repartizează-l într-o singură partiție folosind metoda .coalesce(1).
  • Folosește metoda monotonically_increasing_id() în interiorul funcției withColumn() pentru a crea o nouă coloană în dataframe-ul users, care să conțină un număr întreg unic pentru fiecare utilizator. Numește această coloană userId. Asigură-te că apelezi metoda .persist() pe dataframe-ul final, pentru ca noile ID-uri întregi să fie păstrate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul