Oi, Angelo! Tudo bem?
Isso pode estar ligado à conversão de tipos de dados. O erro de conversão inválida acontece quando o Spark tenta tratar valores com ponto decimal como números inteiros ou quando a coluna original ainda é do tipo texto no momento da divisão por 60.
Para resolver, verifique dois pontos importantes no seu código:
Primeiro, em vez de usar a conversão padrão, utilize a função try_cast para transformar a coluna watch_time_minutes em double. A função try_cast é útil porque ela converte os valores válidos e transforma qualquer texto incompatível em nulo, evitando que a execução seja interrompida por erro de sintaxe.
Segundo, garanta que a coluna watch_time_minutes já esteja convertida para double antes de realizar a divisão por 60 para criar a nova coluna de horas. Se a divisão for feita diretamente sobre uma coluna do tipo texto, o Spark tentará fazer uma conversão implícita para inteiros e falhará ao encontrar números decimais.
Faça esse teste ajustando a conversão da coluna com a função try_cast para o tipo double e rodando a célula novamente. E retorne para dizer se deu certinho. E agradeço por compartilhar o seu depoimento, encaminharei para a equipe responsável para terem acesso também.
Bons estudos e até mais!