Doğru biçim ve tekil kullanıcılar
R veri çerçevesine bir göz at. Her sütunda farklı bir film olan, geleneksel ya da "geniş" biçimde olduğunu fark edeceksin. Ayrıca User ve film adlarının tamsayı formatında olmadığını da fark et. Bu veriyi ALS için doğru şekilde hazırlamak üzere adımları izle.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Öneri Motorları Oluşturma
Egzersiz talimatları
pyspark.sql.functionsiçindenmonotonically_increasing_idpaketini içe aktar ve.show()metodunu kullanarakRveri çerçevesini görüntüle.Rveri çerçevesini "uzun" bir veri çerçevesine dönüştürmek içinto_long()fonksiyonunu kullan. Yeni veri çerçevesineratingsadını ver.- Veri çerçevesinden tüm
.distinct()kullanıcıları içeren ve.coalesce(1)metodunu kullanarak tek bir bölüme yeniden bölümlediğinusersadlı bir veri çerçevesi oluştur. withColumn()içindemonotonically_increasing_id()metodunu kullanarak kullanıcılar veri çerçevesinde her kullanıcı için benzersiz bir tamsayı içeren yeni bir sütun oluştur. Bu sütunauserIdadını ver. Yeni tamsayı kimliklerin kalıcı olması için son veri çerçevesinde.persist()metodunu çağırdığından emin ol.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()