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.
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.
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.
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.
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.
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.
O nó do gráfico exibe as cores mostradas na legenda do mapa de calor.
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.
A imagem a seguir mostra as cores de status verde e branco.
A imagem a seguir mostra as cores de status vermelho e verde.
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.
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.
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. |
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.
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.
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).
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.
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.
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: