LoslegenKostenlos starten

Schema anzeigen

Wie du aus den vorherigen Kapiteln weißt, verlangt Sparks Implementierung von ALS, dass movieIds und userIds als Integer-Datentypen vorliegen. Viele Datensätze müssen dafür entsprechend vorbereitet werden, damit sie mit Spark korrekt funktionieren. Ein häufiges Problem ist, dass Spark Zahlen für Strings hält – und umgekehrt.

Hier nutzt du die Methode .cast(), um solche Probleme zu beheben. Schau dir das Schema des Datensatzes an, um sicherzustellen, dass alles im richtigen Format vorliegt.

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Verwende .printSchema(), um zu prüfen, ob der Ratings-Datensatz die passenden Datentypen hat, damit ALS korrekt funktioniert. Liegen userIds und movieIds als Integer-Datentypen vor? Sind die ratings numerisch?
  • Stelle sicher, dass die Spalten des DataFrames ratings die richtigen Datentypen haben. Rufe für jede Spalte cast() auf und setze die Spalten userID und movieId auf den Typ "integer" und die Spalte rating auf den Typ "double". (Die Spalte timestamp brauchen wir nicht, die können wir weglassen.)
  • Rufe erneut .printSchema() auf ratings auf, um zu bestätigen, dass die Datentypen jetzt korrekt sind.

Interaktive praktische Übung

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

# Use .printSchema() to see the datatypes of the ratings dataset
ratings.____()

# Tell Spark to convert the columns to the proper data types
ratings = ratings.select(ratings.userId.cast("____"), ratings.movieId.cast("____"), ratings.rating.cast("____"))

# Call .printSchema() again to confirm the columns are now in the correct format
ratings.____()
Code bearbeiten und ausführen