Mulai sekarangMulai gratis

Lihat Skema

Seperti yang Anda ketahui dari bab-bab sebelumnya, implementasi ALS di Spark mengharuskan movieId dan userId disediakan sebagai tipe data integer. Banyak himpunan data perlu disiapkan agar dapat berfungsi dengan baik dengan Spark. Masalah umum adalah Spark menganggap angka sebagai string, dan sebaliknya.

Di sini, Anda akan menggunakan metode .cast() untuk menangani jenis masalah tersebut. Mari kita lihat skema himpunan data untuk memastikan formatnya sudah benar.

Latihan ini merupakan bagian dari kursus

Membangun Recommendation Engine dengan PySpark

Lihat Kursus

Instruksi latihan

  • Gunakan .printSchema() untuk memeriksa apakah himpunan data ratings memiliki tipe data yang sesuai agar ALS berfungsi dengan benar. Apakah userId dan movieId disediakan sebagai tipe data integer? Apakah rating dalam format numerik?
  • Pastikan kolom-kolom pada dataframe ratings memiliki tipe data yang benar. Panggil metode cast() pada setiap kolom dan tetapkan kolom userID dan movieId bertipe "integer" serta kolom rating bertipe "double". (Kita tidak memerlukan kolom timestamp, jadi bisa diabaikan.)
  • Panggil .printSchema() lagi pada ratings untuk menegaskan bahwa tipe data sekarang sudah benar.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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.____()
Edit dan Jalankan Kode