Kom igångKom igång gratis

Rätt format och unika användare

Ta en titt på dataramen R. Lägg märke till att den är i konventionellt eller "brett" format med en annan film i varje kolumn. Observera också att User-kolumnen och filmnamnen inte är i heltalsformat. Följ stegen för att förbereda dessa data korrekt för ALS.

Den här övningen är en del av kursen

Bygg rekommendationsmotorer med PySpark

Visa kurs

Övningsinstruktioner

  • Importera paketet monotonically_increasing_id från pyspark.sql.functions och visa dataramen R med hjälp av metoden .show().
  • Använd funktionen to_long() för att konvertera dataramen R till ett "långt" format. Kalla den nya dataramen för ratings.
  • Skapa en dataram med namnet users som innehåller alla .distinct() användare från dataramen och partitionera om den till en partition med hjälp av metoden .coalesce(1).
  • Använd metoden monotonically_increasing_id() inuti withColumn() för att skapa en ny kolumn i dataramen users som innehåller ett unikt heltal för varje användare. Kalla kolumnen för userId. Se till att anropa metoden .persist() på den slutliga dataramen så att de nya heltals-ID:na bevaras.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod