Format benar dan pengguna unik
Perhatikan dataframe R. Dataframe ini berada dalam format konvensional atau "wide" dengan setiap kolom merepresentasikan film yang berbeda. Perhatikan juga bahwa User dan nama film belum dalam format integer. Ikuti langkah-langkah berikut untuk menyiapkan data ini dengan benar bagi ALS.
Latihan ini merupakan bagian dari kursus
Membangun Recommendation Engine dengan PySpark
Instruksi latihan
- Impor paket
monotonically_increasing_iddaripyspark.sql.functionsdan tampilkan dataframeRmenggunakan metode.show(). - Gunakan fungsi
to_long()untuk mengonversi dataframeRmenjadi dataframe "long". Beri nama dataframe baru tersebutratings. - Buat dataframe bernama
usersyang memuat semua pengguna.distinct()dari dataframe dan ubah partisi dataframe menjadi satu partisi menggunakan metode.coalesce(1). - Gunakan metode
monotonically_increasing_id()di dalamwithColumn()untuk membuat kolom baru pada dataframe users yang berisi bilangan bulat unik untuk setiap pengguna. Beri nama kolom iniuserId. Pastikan Anda memanggil metode.persist()pada dataframe akhir agar ID integer baru tersebut persisten.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()