Присвоение целочисленных идентификаторов фильмам
Теперь проделаем то же самое для фильмов, а затем объединим новые идентификаторы пользователей и фильмов в один датафрейм.
Это упражнение является частью курса
Построение рекомендательных систем с помощью PySpark
Инструкции к упражнению
- Используйте методы
.select()и.distinct(), чтобы извлечь все уникальные значенияMovieиз датафреймаratings. - Перераспределите датафрейм
moviesна один раздел с помощьюcoalesce(). - Дополните предоставленный код, чтобы присвоить каждому фильму уникальный целочисленный идентификатор. Назовите новый столбец
movieIdи вызовите метод.persist()на полученном датафрейме. - Объедините датафрейм
ratingsс датафреймомusers, а затем с датафреймомmovies. Назовите результатmovie_ratings.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Extract the distinct movie id's
movies = ratings.select("____").distinct()
# Repartition the data to have only one partition.
movies = movies.coalesce(____)
# Create a new column of movieId integers.
movies = movies.withColumn("____", monotonically_increasing_id()).____()
# Join the ratings, users and movies dataframes
movie_ratings = ratings.join(____, "User", "left").join(____, "Movie", "left")
movie_ratings.show()