2
respostas

[Dúvida] Erro ao executar o ETL Redes Sociais

Boa tarde! Tudo bem?

Estou com problemas para rodar o ETL Redes Sociais. Quando tento executar ele aparece a seguinte mensagem de erro:

Error Category: QUERY_ERROR; Failed Line Number: 31; AnalysisException: [UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name Comentario cannot be resolved. ;

Ao analisar a linha 31 do código, não encontrei o erro:

#Extrair a nota da avaliação e salvar na coluna 'Avaliacao'
redes_sociais_zoop_df = redes_sociais_zoop_df.withColumn("Avaliacao", regexp_extract("Comentario", r"Nota (\d)", 1))

Poderiam me ajudar? Obrigado

2 respostas

Ei, Pedro! Tudo bem?

Esse erro acontece quando o Spark não encontra a coluna que você mencionou, a "Comentario". Isso pode estar ligado a dois motivos principais:

  1. A coluna não existe no DataFrame que você está usando nesse ponto do código.
  2. A coluna existe, mas não a importou.

Antes de tudo, verifique se o DataFrame redes_sociais_zoop_df já tem a coluna Comentario. Você pode confirmar isso assim:

redes_sociais_zoop_df.printSchema()

Depois, teste referenciar o col em Comentario para garantir que o Spark entenda que é uma coluna e não uma string literal. E faça o import também. Segue um exemplo:

from pyspark.sql.functions import regexp_extract, col

redes_sociais_zoop_df = redes_sociais_zoop_df.withColumn("Avaliacao", regexp_extract(col("Comentario"), r"Nota (\d)", 1))

Espero que a sugestão te ajude. Qualquer dúvida, compartilhe no fórum.

Até mais, Pedro!

  Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Olá Nathalia! Tudo bem por aqui!

Tentei utilizar o código que você disponibilizou mas o erro continua.

Verifiquei nas tabelas e a coluna 'Comentario' existe. Tentei mudar no código com o 'C' minúsculo mas mesmo assim o erro aparece.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Sabe o que pode ser esse erro?