Compartilhar via


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

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

Acesse o servidor de histórico do 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 do Apache Spark no Notebook do indicador de progresso ou na página de detalhes do aplicativo Apache Spark.

Abrir a interface do usuário da Web do Spark no notebook do indicador de progresso

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

Captura de tela mostrando a interface do usuário da Web do Spark no notebook do indicador de progresso.

Como abrir 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 por meio 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 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á como em execução, o botão mostra a interface do usuário do Spark. Selecione Interface do Usuário do Spark e a página interface do usuário do Spark é exibida.

Captura de tela mostrando o botão exibe a interface do usuário do Spark no estado de execução.

Para um aplicativo Apache Spark cuja status foi encerrada, o status de encerramento pode ser Interrompido, Com Falha, 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 interface do usuário do Spark é exibida.

Captura de tela mostrando o botão exibe a interface do usuário do Spark no estado finalizado.

Guia Grafo no servidor de histórico do Apache Spark

Selecione a ID do trabalho que deseja ver. Em seguida, selecione Grafo no menu de ferramentas para acessar a exibição de grafo do trabalho.

Visão geral

Você pode ter uma visão geral do trabalho no grafo do trabalho gerado. Por padrão, o grafo mostra todos os trabalhos. Você pode filtrar a exibição por ID do Trabalho.

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

Monitor

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

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

O nó do grafo exibe as cores mostradas na legenda do mapa de calor.

Captura de tela mostrando o aplicativo Spark e o mapa de calor do gráfico de trabalho.

Reprodução

Para reproduzir o trabalho, selecione Reprodução. Selecione Parar a qualquer momento para parar. As cores da tarefa mostram status diferentes durante a reprodução:

Cor Significado
Verde Bem-sucedido: o trabalho foi concluído com êxito.
Laranja Repetido: instâncias de tarefas que falharam, mas não afetam o resultado final do trabalho. Essas tarefas tiveram instâncias duplicadas ou repetidas que poderão ser bem-sucedidas mais tarde.
Azul Em execução: a tarefa está em execução.
Branca Aguardando ou ignorado: a tarefa está esperando para ser executada ou a fase foi ignorada.
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 a amostra 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 Spark e a amostra de cor do gráfico de trabalho: ignorar.

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

Captura de tela mostrando o aplicativo Spark e a amostra de cor do gráfico de trabalho: falhou.

Observação

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

Zoom

Use a rolagem do mouse para ampliar e reduzir o grafo do trabalho ou selecione Aplicar Zoom para Ajustar para fazer com que ele se ajuste à tela.

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

Dicas de ferramenta

Focalize o nó do grafo para ver a dica de ferramenta quando houver tarefas com falha e selecione uma fase para abrir a página referente a ela.

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

Na guia do grafo do trabalho, as fases têm uma dica de ferramenta e um pequeno ícone exibido se houver tarefas que atendam às seguintes condições:

Condição Descrição
Distorção de dados Tamanho 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 de tempo tempo de execução > tempo médio de execução de todas as tarefas dentro desta fase * 2 e tempo de execução > 2 minutos.

Captura de tela mostrando o aplicativo Spark e o ícone de inclinação do gráfico de trabalho.

Descrição do nó do grafo

O nó do grafo do trabalho exibe as seguintes informações de cada fase:

  • ID
  • Nome ou descrição
  • Número total de tarefas
  • Leitura de dados: a soma do tamanho de entrada e o tamanho de leitura em ordem aleatória
  • Gravação de dados: a soma do tamanho de saída e do tamanho das gravações em ordem aleatória
  • 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 registros de entrada, registros de saída, registros de leitura aleatória e registros de gravação aleatória
  • Progresso

Observação

Por padrão, o nó do grafo do trabalho exibe informações da última tentativa de cada fase (exceto pelo tempo de execução da fase). No entanto, durante a reprodução, o nó do grafo mostra informações sobre cada tentativa.

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

Fornecer comentários

Envie comentários sobre problemas selecionando Fornecer comentários.

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

Limite de número de estágio

Para consideração de desempenho, por padrão, o grafo só estará disponível quando o aplicativo Spark tiver 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 um desempenho ruim da página e da API, pois o conteúdo pode ser muito grande para o navegador buscar e renderizar.

Explorar 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 acessar a exibição de Diagnóstico do trabalho. A guia de diagnóstico inclui Distorção de dados, Distorção de tempo e Análise de uso do executor.

Confira as informações de Distorção de dados, Distorção de tempo e Análise de uso do executor selecionando as respectivas guias.

Captura de tela mostrando a guia de distorção 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 detectar a Distorção de dados. A regra padrão é: a leitura de dados da tarefa é maior que três vezes a média da leitura de dados da tarefa e a leitura de dados da tarefa é maior do que 10 MB. Se quiser definir sua regra para tarefas com distorção, você poderá escolher seus parâmetros. As seções de Fase Distorcida e Gráfico de Distorção são atualizadas de acordo.

  • Estágio Distorcido: a segunda seção exibe as fases que têm tarefas distorcidas que atendem aos critérios especificados acima. Se houver mais de uma tarefa distorcida em uma fase, a tabela de fase distorcida exibirá apenas a tarefa mais distorcida (por exemplo, com os maiores dados para distorção de dados).

    Captura de tela mostrando a guia de distorção de dados de diagnóstico da interface do usuário do Spark.

  • Gráfico de Distorção: quando uma linha na tabela da fase com distorção é selecionada, o gráfico de distorção exibe mais detalhes de distribuições da tarefa com base na leitura de dados e no tempo de execução. As tarefas distorcidas são marcadas em vermelho e as 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 da interface do usuário do Spark para o estágio 10.

Distorção de 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 detectar a distorção de tempo. Os critérios padrão para detectar a distorção de tempo são: o tempo de execução da tarefa é maior do 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 Distorção exibem as informações sobre as fases e as tarefas correspondentes, assim como a guia Distorção de Dados acima.

  • Selecione Distorção de Tempo e o resultado filtrado será exibido na seção Fase Distorcida de acordo com os parâmetros definidos na seção Especificar Parâmetros. Ao selecionar um item na seção Estágio Distorcido, o gráfico correspondente será exibido na seção 3 e os detalhes da tarefa serão exibidos no painel inferior direito.

    Captura de tela mostrando a seção de distorção de tempo de diagnóstico da interface do usuário do Spark.

Análise de uso do executor

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

Captura de tela mostrando como modificar a URL.