Diagnosticar problemas de custo e desempenho usando o Spark UI
Quando um pipeline ou query tem uma execução mais longa ou custa mais do que você esperava, a causa geralmente é difícil de identificar apenas pelo código. A Spark UI mostra o que o cluster realmente fez: quais Jobs foram executados, quanto tempo cada estágio levou, quantos dados foram movidos e onde as tarefas falharam. Este guia descreve os padrões na Spark UI e explica qual página ler em seguida para cada padrão. Se você não estiver familiarizado com os conceitos de driver, workers, executores, estágios e tarefas, revise a arquitetura do Spark antes de começar.
Quando usar este guia
Use este guia quando uma carga de trabalho executada em um cluster apresentar qualquer um destes sintomas:
- Um job, pipeline ou query leva mais tempo do que o esperado ou do que costumava levar.
- Uma carga de trabalho custa mais do que o esperado pela quantidade de dados que processa.
- Jobs ou executores falham e a mensagem de erro não identifica a causa.
Como usar este guia
Comece com a linha do tempo dos jobs. A linha do tempo mostra a forma geral da carga de trabalho, e cada padrão tem um link para a página que diagnostica esse padrão. Siga os links no final de cada página para navegar pelo guia. Para diagnosticar uma carga de trabalho lenta, siga os passos em ordem:
- Use o cronograma de trabalhos para identificar os principais problemas
- Veja o estágio mais longo
- Procure distorção ou derrame
- Determine se o estágio mais longo está vinculado à E/S
- Procure outras causas de tempo de execução em estágios lentos
Se a linha do tempo dos Jobs mostrar Jobs com falha, longas lacunas entre os Jobs ou muitos Jobs pequenos, pule os passos restantes e siga o link na página da linha do tempo para a página desse padrão.
Como abrir o Spark UI
-
Navegue até a página de seu clustering:

-
Clique em Spark UI :

Próxima etapa
Em seguida, analise a linha do tempo de eventos para saber mais sobre o pipeline ou query. Consulte Linha do tempo de jobs.