LoslegenKostenlos starten

Korrektes Format und eindeutige Nutzer

Sieh dir das R-DataFrame an. Es liegt im konventionellen bzw. „breiten“ Format vor, bei dem jeder Film in einer eigenen Spalte steht. Beachte außerdem, dass die Namen der User und der Filme nicht im Integer-Format vorliegen. Folge den Schritten, um diese Daten korrekt für ALS aufzubereiten.

Diese Übung ist Teil des Kurses

<Kurs>Recommendation Engines mit PySpark erstellen</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere das Paket monotonically_increasing_id aus pyspark.sql.functions und lass dir das DataFrame R mit der Methode .show() anzeigen.
  • Verwende die Funktion to_long(), um das DataFrame R in ein „langes“ DataFrame zu konvertieren. Nenne das neue DataFrame ratings.
  • Erstelle ein DataFrame namens users, das alle .distinct() Nutzer aus dem DataFrame enthält, und repartitioniere es mit der Methode .coalesce(1) auf eine Partition.
  • Verwende die Methode monotonically_increasing_id() innerhalb von withColumn(), um im Users-DataFrame eine neue Spalte mit einer eindeutigen Ganzzahl für jeden Nutzer zu erzeugen. Nenne diese Spalte userId. Ruf unbedingt die Methode .persist() auf dem finalen DataFrame auf, damit die neuen Integer-IDs erhalten bleiben.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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()
Code bearbeiten und ausführen