Partilhar via


Use o servidor de histórico estendido do Apache Spark para depurar e diagnosticar aplicativos Apache Spark

Este artigo fornece orientação sobre como usar o servidor de histórico estendido do Apache Spark para depurar e diagnosticar aplicativos Apache Spark concluídos e em execução.

Aceder ao servidor do histórico Apache Spark

O servidor de histórico do Apache Spark é a interface do usuário da web para aplicativos Spark concluídos e em execução. Você pode abrir a interface do usuário da web (UI) do Apache Spark no bloco de anotações do indicador de progresso ou na página de detalhes do aplicativo Apache Spark.

Abra a interface do usuário da Web do Spark no bloco de anotações do indicador de progresso

Quando um trabalho do Apache Spark é acionado, o botão para abrir a interface do usuário da web do Spark está dentro da opção Mais ação no indicador de progresso. Selecione Spark web UI e aguarde alguns segundos e, em seguida, a página Spark UI é exibida.

Captura de tela mostrando a abertura da interface do usuário da Web do Spark a partir do bloco de anotações do indicador de progresso.

Abra a interface do usuário da Web do Spark na página de detalhes do aplicativo Apache Spark

A interface do usuário da Web do Spark também pode ser aberta através da página de detalhes do aplicativo Apache Spark. Selecione Hub de monitoramento no lado esquerdo da página e, em seguida, selecione um aplicativo Apache Spark. A página de detalhes do aplicativo é exibida.

Captura de tela mostrando a abertura da interface do usuário da Web do Spark na página de detalhes do aplicativo Apache Spark.

Para um aplicativo Apache Spark cujo status está em execução, o botão mostra a interface do usuário do Spark. Selecione Spark UI e a página Spark UI será exibida.

A captura de tela mostrando o botão exibe a interface do usuário de faísca no estado de execução.

Para um aplicativo Apache Spark cujo status é encerrado, o status final pode ser Parado, Falhado, Cancelado ou Concluído. O botão mostra o servidor de histórico do Spark. Selecione Servidor de histórico do Spark e a página da interface do usuário do Spark será exibida.

A captura de tela mostrando o botão exibe a interface do usuário de faísca no estado final.

Guia Gráfico no servidor de histórico do Apache Spark

Selecione a ID do trabalho que você deseja visualizar. Em seguida, selecione Gráfico no menu de ferramentas para obter a visualização do gráfico de trabalho.

Descrição geral

Você pode ver uma visão geral do seu trabalho no gráfico de trabalho gerado. Por padrão, o gráfico mostra todos os trabalhos. Você pode filtrar essa exibição por ID do trabalho.

Captura de tela mostrando o aplicativo spark e o ID do trabalho do gráfico de trabalho.

Apresentar

Por padrão, a exibição Progresso é selecionada. Você pode verificar o fluxo de dados selecionando Leitura ou Gravação na lista suspensa Exibir.

Captura de tela mostrando o aplicativo spark e a exibição do gráfico de trabalho.

O nó do gráfico exibe as cores mostradas na legenda do mapa de calor.

Captura de tela mostrando o aplicativo de faísca e o mapa de calor do gráfico de trabalho.

Reproduzir

Para reproduzir o trabalho, selecione Reprodução. Você pode selecionar Parar a qualquer momento para parar. As cores da tarefa mostram diferentes estados durante a reprodução:

Cor Significado
Verde Êxito: O trabalho foi concluído com êxito.
Orange Repetida: instâncias de tarefas que falharam, mas não afetam o resultado final do trabalho. Essas tarefas tinham instâncias duplicadas ou repetidas que podem ser bem-sucedidas mais tarde.
Azul Em execução: A tarefa está em execução.
Caucasiano Aguardando ou ignorado: a tarefa está aguardando para ser executada ou o estágio foi ignorado.
Vermelho Falha: A tarefa falhou.

A imagem a seguir mostra as cores de status verde, laranja e azul.

Captura de tela mostrando o aplicativo spark e o exemplo de cor do gráfico de trabalho, em execução.

A imagem a seguir mostra as cores de status verde e branco.

Captura de tela mostrando o aplicativo de faísca e o exemplo de cor do gráfico de trabalho, ignorar.

A imagem a seguir mostra as cores de status vermelho e verde.

Falha na captura de tela mostrando o aplicativo de faísca e o exemplo de cor do gráfico de trabalho.

Nota

O servidor de histórico do Apache Spark permite a reprodução para cada trabalho concluído (mas não permite a reprodução para trabalhos incompletos).

Zoom

Use a rolagem do mouse para aumentar e diminuir o zoom no gráfico de trabalho ou selecione Zoom para ajustar para ajustá-lo à tela.

Captura de tela mostrando o aplicativo de faísca e o zoom do gráfico de trabalho para ajustar.

Descrições

Passe o cursor sobre o nó do gráfico para ver a dica de ferramenta quando houver tarefas com falha e selecione um estágio para abrir sua página de palco.

Captura de tela mostrando a dica de ferramenta do aplicativo spark e do gráfico de trabalho.

Na guia Gráfico de tarefas, os estágios têm uma dica de ferramenta e um pequeno ícone exibido se tiverem tarefas que atendam às seguintes condições:

Condição Description
Distorção de dados Tamanho > médio de leitura de dados, tamanho médio de leitura de dados de todas as tarefas dentro deste estágio * 2 e tamanho > de leitura de dados 10 MB.
Distorção do tempo Tempo > de execução: tempo médio de execução de todas as tarefas dentro desta etapa * 2 e tempo > de execução 2 minutos.

Captura de tela mostrando o aplicativo de faísca e o ícone de distorção do gráfico de trabalho.

Descrição do nó gráfico

O nó do gráfico de trabalho exibe as seguintes informações de cada estágio:

  • ID
  • Nome ou descrição
  • Número total da tarefa
  • Dados lidos: a soma do tamanho de entrada e do tamanho de leitura aleatório
  • Gravação de dados: a soma do tamanho da saída e do tamanho das gravações aleatórias
  • Tempo de execução: o tempo entre a hora de início da primeira tentativa e a hora de conclusão da última tentativa
  • Contagem de linhas: a soma dos registos de entrada, registos de saída, registos de leitura aleatórios e registos de escrita aleatória
  • Progresso

Nota

Por padrão, o nó do gráfico de trabalho exibe informações da última tentativa de cada estágio (exceto o tempo de execução do estágio). No entanto, durante a reprodução, o nó do gráfico mostra informações de cada tentativa.

O tamanho dos dados de leitura e gravação é 1MB = 1000 KB = 1000 * 1000 bytes.

Enviar comentários

Envie comentários com problemas selecionando Fornecer-nos comentários.

Captura de tela mostrando o aplicativo spark e o feedback do gráfico de trabalho.

Limite de número de estágios

Para consideração de desempenho, por padrão, o gráfico só está disponível quando o aplicativo Spark tem menos de 500 estágios. Se houver muitos estágios, ele falhará com um erro como este:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Como solução alternativa, antes de iniciar um aplicativo Spark, aplique esta configuração do Spark para aumentar o limite:

spark.ui.enhancement.maxGraphStages 1000

Mas observe que isso pode causar mau desempenho da página e da API, porque o conteúdo pode ser muito grande para o navegador buscar e renderizar.

Explore a guia Diagnóstico no servidor de histórico do Apache Spark

Para acessar a guia Diagnóstico, selecione uma ID de trabalho. Em seguida, selecione Diagnóstico no menu de ferramentas para obter a visualização Diagnóstico de trabalho. A guia de diagnóstico inclui Data Skew, Time Skew e Executor Usage Analysis.

Verifique a Inclinação de dados, a inclinação de tempo e a Análise de uso do executor selecionando as guias, respectivamente.

Captura de tela mostrando a guia de desvio de dados de diagnóstico sparkUI novamente.

Distorção de Dados

Quando você seleciona a guia Distorção de dados, as tarefas distorcidas correspondentes são exibidas com base nos parâmetros especificados.

  • Especificar parâmetros - A primeira seção exibe os parâmetros, que são usados para detetar a inclinação de dados. A regra padrão é: os dados da tarefa lidos são três vezes superiores à média dos dados da tarefa lidos e os dados da tarefa lidos têm mais de 10 MB. Se quiser definir sua própria regra para tarefas distorcidas, você pode escolher seus parâmetros. As seções Skewed Stage e Skew Char são atualizadas de acordo.

  • Estágio enviesado - A segunda seção exibe estágios, que têm tarefas distorcidas que atendem aos critérios especificados anteriormente. Se houver mais de uma tarefa distorcida em um estágio, a tabela de estágio distorcida exibirá apenas a tarefa mais distorcida (por exemplo, os maiores dados para a distorção de dados).

    Captura de tela mostrando a guia de distorção de dados de diagnóstico de faísca ui.

  • Gráfico de inclinação - Quando uma linha na tabela de estágio de inclinação é selecionada, o gráfico de inclinação exibe mais detalhes de distribuição de tarefas com base na leitura de dados e no tempo de execução. As tarefas distorcidas são marcadas em vermelho e as tarefas normais são marcadas em azul. O gráfico exibe até 100 tarefas de exemplo e os detalhes da tarefa são exibidos no painel inferior direito.

    Captura de tela mostrando o gráfico de inclinação de faísca ui para o estágio 10.

Distorção do tempo

A guia Distorção de tempo exibe tarefas distorcidas com base no tempo de execução da tarefa.

  • Especificar parâmetros - A primeira seção exibe os parâmetros, que são usados para detetar distorção de tempo. O critério padrão para detetar distorção de tempo é: o tempo de execução da tarefa é maior que três vezes o tempo médio de execução e o tempo de execução da tarefa é maior que 30 segundos. Você pode alterar os parâmetros com base em suas necessidades. O Estágio Distorcido e o Gráfico de Inclinação exibem as informações de estágios e tarefas correspondentes, assim como a guia Inclinação de Dados descrita anteriormente.

  • Selecione Inclinação de tempo e, em seguida, o resultado filtrado é exibido na seção Estágio distorcido de acordo com os parâmetros definidos na seção Especificar parâmetros. Selecione um item na seção Palco enviesado, em seguida, o gráfico correspondente é redigido na seção 3 e os detalhes da tarefa são exibidos no painel inferior direito.

    Captura de tela mostrando a seção de distorção de tempo de diagnóstico de faísca.

Análise de uso do executor

Esse recurso foi preterido no Fabric agora. Se você ainda quiser usar isso como uma solução alternativa, acesse a página adicionando explicitamente "/executorusage" atrás do caminho "/diagnostic" no URL, desta forma:

Captura de tela mostrando como modificar a url.