Asignar identificadores enteros a películas
Hagamos lo mismo con las películas. Luego, unamos los nuevos IDs de usuario y de película en un único dataframe.
Este ejercicio forma parte del curso
Creación de motores de recomendación con PySpark
Instrucciones del ejercicio
- Usa los métodos
.select()y.distinct()para extraer todas lasMovieúnicas del dataframeratings. - Reparte el dataframe
moviesa una sola partición usandocoalesce(). - Completa el código parcial proporcionado para asignar IDs enteros únicos a cada película. Nombra la nueva columna
movieIdy llama al método.persist()sobre el dataframe resultante. - Haz un join del dataframe
ratingscon el dataframeusersy, después, con el dataframemovies. Llamamovie_ratingsal resultado.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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()