ПочатиПочніть безкоштовно

Правильний формат і унікальні користувачі

Погляньте на датафрейм R. Зверніть увагу, що він у звичному або «широкому» форматі, де кожен стовпець відповідає окремому фільму. Також зауважте, що значення в стовпцях User і назви фільмів не є цілими числами. Виконайте кроки, щоб правильно підготувати ці дані для 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()
Редагувати та запускати код