CommencezCommencez gratuitement

Format correct et utilisateurs distincts

Examinez le tableau de données R. Remarquez qu'il est au format classique dit « large », avec un film différent dans chaque colonne. Notez aussi que les noms de User et des films ne sont pas au format entier. Suivez les étapes pour bien préparer ces données pour ALS.

Cette activité fait partie du cours

Créer des moteurs de recommandation avec PySpark

Voir le cours

Instructions de l’exercice

  • Importez le module monotonically_increasing_id depuis pyspark.sql.functions et affichez le tableau R à l'aide de la méthode .show().
  • Utilisez la fonction to_long() pour convertir le tableau R en un tableau de type « long ». Nommez le nouveau tableau ratings.
  • Créez un tableau appelé users qui contient tous les utilisateurs .distinct() du tableau de données et répartissez-le en une seule partition avec la méthode .coalesce(1).
  • Utilisez la méthode monotonically_increasing_id() à l'intérieur de withColumn() pour créer une nouvelle colonne dans le tableau users qui contient un entier unique pour chaque utilisateur. Nommez cette colonne userId. Assurez-vous d'appeler la méthode .persist() sur le tableau final pour que les nouveaux identifiants entiers soient conservés.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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()
Modifier et exécuter le code