Atribuindo IDs inteiros aos filmes
Vamos fazer a mesma coisa com os filmes. Depois, vamos juntar os novos IDs de usuário e de filme em um único dataframe.
Este exercicio faz parte do curso
Construindo mecanismos de recomendação com PySpark
Instruções do exercicio
- Use os métodos
.select()e.distinct()para extrair todos osMovies únicos do dataframeratings. - Reparticione o dataframe
moviespara uma partição usandocoalesce(). - Complete o código parcial fornecido para atribuir IDs inteiros exclusivos a cada filme. Dê o nome
movieIdà nova coluna e chame o método.persist()no dataframe resultante. - Faça o
joindo dataframeratingscom o dataframeuserse, em seguida, com o dataframemovies. Chame o resultado demovie_ratings.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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()