НачатьНачать бесплатно

Правильный формат и уникальные пользователи

Изучите датафрейм R. Обратите внимание, что он представлен в стандартном, или «широком», формате: каждый фильм занимает отдельный столбец. Также обратите внимание, что имена пользователей и названия фильмов не представлены в целочисленном формате. Выполните следующие шаги, чтобы правильно подготовить эти данные для ALS.

Это упражнение является частью курса

Построение рекомендательных систем с помощью PySpark

Посмотреть курс

Инструкции к упражнению

  • Импортируйте пакет monotonically_increasing_id из pyspark.sql.functions и просмотрите датафрейм R с помощью метода .show().
  • Используйте функцию to_long(), чтобы преобразовать датафрейм R в «длинный» формат. Назовите новый датафрейм ratings.
  • Создайте датафрейм users, который содержит всех уникальных пользователей (.distinct()) из датафрейма, и разбейте его на одну партицию с помощью метода .coalesce(1).
  • Используйте метод monotonically_increasing_id() внутри withColumn(), чтобы добавить в датафрейм пользователей новый столбец с уникальным целым числом для каждого пользователя. Назовите этот столбец userId. Обязательно вызовите метод .persist() на финальном датафрейме, чтобы сохранить новые целочисленные идентификаторы.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
Редактировать и запускать код