Inizia subitoInizia gratis

Formato corretto e utenti unici

Dai un’occhiata al dataframe R. Nota che è nel formato convenzionale o "wide", con un film diverso in ogni colonna. Nota anche che i nomi degli utenti (User) e dei film non sono in formato intero. Segui i passaggi per preparare correttamente questi dati per ALS.

Questo esercizio fa parte del corso

Costruire motori di raccomandazione con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Importa il pacchetto monotonically_increasing_id da pyspark.sql.functions e visualizza il dataframe R usando il metodo .show().
  • Usa la funzione to_long() per convertire il dataframe R in un dataframe "long". Chiama il nuovo dataframe ratings.
  • Crea un dataframe chiamato users che contenga tutti gli utenti .distinct() dal dataframe e ripartiziona il dataframe in una singola partizione usando il metodo .coalesce(1).
  • Usa il metodo monotonically_increasing_id() all’interno di withColumn() per creare una nuova colonna nel dataframe degli utenti che contenga un intero univoco per ogni utente. Chiama questa colonna userId. Assicurati di chiamare il metodo .persist() sul dataframe finale per fare in modo che i nuovi ID interi persistano.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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()
Modifica ed esegui il codice