Comece agoraComece grátis

Formato correto e usuários distintos

Dê uma olhada no dataframe R. Perceba que ele está no formato convencional ou "wide", com um filme diferente em cada coluna. Note também que os nomes de User e dos filmes não estão no formato inteiro. Siga os passos para preparar corretamente esses dados para o ALS.

Este exercicio faz parte do curso

Construindo mecanismos de recomendação com PySpark

Ver curso

Instruções do exercicio

  • Importe o pacote monotonically_increasing_id de pyspark.sql.functions e visualize o dataframe R usando o método .show().
  • Use a função to_long() para converter o dataframe R em um dataframe "longo". Chame o novo dataframe de ratings.
  • Crie um dataframe chamado users que contenha todos os usuários .distinct() do dataframe e reprocesse o dataframe para uma única partição usando o método .coalesce(1).
  • Use o método monotonically_increasing_id() dentro de withColumn() para criar uma nova coluna no dataframe de usuários que contenha um inteiro exclusivo para cada usuário. Dê a essa coluna o nome userId. Lembre-se de chamar o método .persist() no dataframe final para garantir que os novos IDs inteiros persistam.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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()
Editar e Executar Código