Comece agoraComece grátis

Visualizar schema

Como você viu nos capítulos anteriores, a implementação de ALS no Spark exige que movieIds e userIds sejam fornecidos como tipos de dados inteiros. Muitos conjuntos de dados precisam ser preparados de acordo para funcionarem corretamente no Spark. Um problema comum é o Spark interpretar números como strings, e vice-versa.

Aqui, você vai usar o método .cast() para resolver esse tipo de problema. Vamos analisar o schema do conjunto de dados para garantir que ele esteja no formato correto.

Este exercicio faz parte do curso

Construindo mecanismos de recomendação com PySpark

Ver curso

Instruções do exercicio

  • Use .printSchema() para verificar se o conjunto de dados de avaliações contém os tipos de dados corretos para o ALS funcionar adequadamente. Os userIds e movieIds estão como tipos inteiros? As ratings estão em formato numérico?
  • Garanta que as colunas do dataframe ratings estejam nos tipos de dados corretos. Chame o método cast() em cada coluna e defina as colunas userID e movieId como tipo "integer" e a coluna rating como tipo "double". (Não precisamos da coluna timestamp, então podemos deixá-la de fora.)
  • Chame .printSchema() novamente em ratings para confirmar que os tipos de dados agora estão corretos.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# Use .printSchema() to see the datatypes of the ratings dataset
ratings.____()

# Tell Spark to convert the columns to the proper data types
ratings = ratings.select(ratings.userId.cast("____"), ratings.movieId.cast("____"), ratings.rating.cast("____"))

# Call .printSchema() again to confirm the columns are now in the correct format
ratings.____()
Editar e Executar Código