Pular para o conteúdo principal

Cronograma de empregos

A linha do tempo de Job na Spark UI mostra quais Job estão em execução, quanto tempo cada Job leva e se algum Job ou executor falha. Comece pela linha do tempo de jobs quando um pipeline ou uma query apresentar lentidão ou custo elevado. O padrão na linha do tempo determina qual página deste guia você deve ler em seguida.

Use esta página ao começar uma investigação, antes de saber se o problema é falhas, tempo parado, um Job longo ou muitos Jobs curtos. Para abrir a Spark UI, consulte Como abrir a Spark UI.

Como abrir a linha do tempo do trabalho​

Na Spark UI, clique em Jobs e depois em Event Timeline , conforme destacado em vermelho na captura de tela a seguir. A linha do tempo de exemplo mostra quando o driver e o executor 0 são adicionados:

Cronograma de empregos

O que procurar​

As seções a seguir descrevem padrões na linha do tempo de eventos que indicam a causa de um problema de desempenho ou custo. Cada seção termina com um link para a página que diagnostica esse padrão.

nota

Um job aparece como em execução desde o momento em que é enviado, não desde quando sua primeira tarefa começa. Ao enviar jobs em paralelo, por exemplo, usando várias threads e Futures, todos os jobs podem parecer começar ao mesmo tempo. Isso é esperado e não indica um problema por si só.

Trabalho falho ou executor falho​

Na linha do tempo do evento, os Jobs com falha e os executores removidos têm um status vermelho, por exemplo:

Empregos fracassados

Se a linha do tempo mostrar trabalhos com falha ou executores removidos, consulte Trabalhos com falha ou executores removidos.

Lacunas na execução​

Procure lacunas de um minuto ou mais, por exemplo:

Job Lacunas

Este exemplo tem várias lacunas e as setas vermelhas destacam algumas delas. São esperadas pequenas lacunas enquanto o driver coordena o trabalho. Intervalos de um minuto ou mais precisam de investigação quando ocorrem no meio de um pipeline. Se o cluster estiver em execução contínua, uma lacuna pode ser uma pausa entre as cargas de trabalho. Para saber a diferença, compare os intervalos com os momentos em que sua carga de trabalho começou e terminou.

Se a linha do tempo mostrar lacunas longas e inexplicáveis no meio de um pipeline, consulte Lacunas entre jobs Spark.

Trabalho longo​

Verifique se um ou alguns jobs longos dominam a linha do tempo. Neste exemplo, um job leva muito mais tempo do que os outros, então é esse o job a ser investigado:

Trabalhos longos

Para investigar um job longo, clique nele e consulte Diagnosing a long job in Spark.

Muitos trabalhos pequenos​

Procure uma linha do tempo dominada por pequenos jobs, por exemplo:

Pequenos trabalhos

Cada linha azul fina é um pequeno job que leva alguns segundos ou menos.

Se a linha do tempo mostrar principalmente Job pequenos, consulte Muitos Job pequenos do Spark.

Nenhuma das opções acima​

Se a linha do tempo não corresponder a nenhum dos padrões anteriores, encontre o job mais longo. Classifique os jobs por duração e, em seguida, clique no link na descrição do job mais longo:

Identificando o mais longo Job

Depois de abrir a página do job mais longo, investigue seu estágio mais longo. Consulte Diagnóstico de um job longo no Spark.