Pular para o conteúdo principal

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:

  1. Use o cronograma de trabalhos para identificar os principais problemas
  2. Veja o estágio mais longo
  3. Procure distorção ou derrame
  4. Determine se o estágio mais longo está vinculado à E/S
  5. 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​

  1. Navegue até a página de seu clustering:

    Navegar para computar

  2. Clique em Spark UI :

    Navegue até SparkUI

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.