Monitorize fluxos de dados

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Depois de ter concluído a construção e depurando o fluxo de dados, pretende agendar o fluxo de dados para executar num horário no contexto de um pipeline. Pode agendar o gasoduto utilizando triggers. Para testar e depurar os dados de um oleoduto, pode utilizar o botão Debug na fita da barra de ferramentas ou na opção Trigger Now do Pipeline Builder para executar uma execução única para testar o fluxo de dados dentro do contexto do pipeline.

Ao executar o seu oleoduto, pode monitorizar o gasoduto e todas as atividades contidas no oleoduto, incluindo a atividade Fluxo de Dados. Clique no ícone do monitor no painel de UI à esquerda. Pode ver um ecrã semelhante ao abaixo. Os ícones destacados permitem-lhe perfurar as atividades no oleoduto, incluindo a atividade Fluxo de Dados.

Screenshot shows icons to select for pipelines for more information.

Vê-se estatísticas a este nível, incluindo os tempos de execução e o estado. O ID de execução ao nível de atividade é diferente do ID de execução ao nível do gasoduto. O Run ID no nível anterior é para o oleoduto. A seleção dos óculos dá-lhe detalhes profundos sobre a execução do fluxo de dados.

Screenshot shows the eyeglasses icon to see details of data flow execution.

Quando está na vista de monitorização do nó gráfico, pode ver uma versão simplificada apenas do seu gráfico de fluxo de dados. Para ver a vista de detalhes com nós gráficos maiores que incluem etiquetas de estágio de transformação, use o slider de zoom no lado direito da sua tela. Também pode utilizar o botão de pesquisa no lado direito para encontrar partes da lógica de fluxo de dados no gráfico.

Screenshot shows the view-only version of the graph.

Ver planos de execução Fluxo de Dados

Quando o seu Fluxo de Dados é executado em Spark, o serviço determina caminhos de código ideais com base na totalidade do seu fluxo de dados. Além disso, os caminhos de execução podem ocorrer em diferentes nós de escala e divisórias de dados. Portanto, o gráfico de monitorização representa o design do seu fluxo, tendo em conta o percurso de execução das suas transformações. Quando seleciona nós individuais, pode ver "estágios" que representam código que foi executado em conjunto no cluster. Os timings e contagens que vê representam esses grupos ou etapas em oposição aos passos individuais no seu design.

Screenshot shows the page for a data flow.

  • Quando selecionar o espaço aberto na janela de monitorização, as estatísticas no painel inferior mostram o tempo e as contagens de linha para cada Pia e as transformações que levaram aos dados do lavatório para a linhagem de transformação.

  • Quando seleciona transformações individuais, recebe feedback adicional no painel da direita que mostra estatísticas de partição, contagem de colunas, distorção (quão uniformemente são os dados distribuídos por partições) e kurtose (quão espinhosos são os dados).

  • A triagem pelo tempo de processamento irá ajudá-lo a identificar quais as fases do fluxo de dados que mais tempo demoraram.

  • Para descobrir quais as transformações dentro de cada etapa demorou mais tempo, classificar em tempo de processamento mais alto.

  • As linhas escritas também são ordenadas como uma forma de identificar quais os fluxos dentro do seu fluxo de dados que estão a escrever mais dados.

  • Quando selecionar a Pia na vista do nó, pode ver a linhagem da coluna. Existem três métodos diferentes que as colunas são acumuladas ao longo do seu fluxo de dados para aterrar na Pia. A saber:

    • Computação: Utiliza a coluna para processamento condicional ou dentro de uma expressão no fluxo de dados, mas não a aterre na Pia
    • Derivado: A coluna é uma nova coluna que gerou no seu fluxo, isto é, não estava presente na Fonte
    • Mapeado: A coluna originou-se da fonte e está a mapeá-la para um campo de pia
    • Estado do fluxo de dados: O estado atual da sua execução
    • Tempo de arranque do cluster: Quantidade de tempo para adquirir o ambiente computacional JIT Spark para a execução do fluxo de dados
    • Número de transformações: Quantos passos de transformação estão a ser executados no seu fluxo

Screenshot shows the Refresh option.

Tempo Total de Processamento de Sinks vs. Tempo de Processamento de Transformações

Cada fase de transformação inclui um tempo total para que essa fase se complete com cada tempo de execução de partição totalizado. Quando clicar na Pia verá "Tempo de Processamento da Pia". Este tempo inclui o total do tempo de transformação mais o tempo de E/S que demorou a escrever os seus dados para a sua loja de destino. A diferença entre o tempo de processamento do sumidouro e o total da transformação é a hora de E/S para escrever os dados.

Também pode ver um timing detalhado para cada passo de transformação de partição se abrir a saída JSON a partir da sua atividade de fluxo de dados na vista de monitorização do gasoduto. O JSON contém um tempo de milissegundo para cada partição, enquanto que a visão de monitorização UX é um calendário agregado de divisórias adicionadas em conjunto:

 {
     "stage": 4,
     "partitionTimes": [
          14353,
          14914,
          14246,
          14912,
          ...
         ]
}

Tempo de processamento da pia

Quando selecionar um ícone de transformação de pia no seu mapa, o painel de slide-in à direita mostrará um ponto de dados adicional chamado "tempo de processamento pós-processamento" na parte inferior. Esta é a quantidade de tempo gasto a executar o seu trabalho no cluster Spark depois de os seus dados terem sido carregados, transformados e escritos. Desta vez pode incluir o fecho de piscinas de ligação, a paragem do controlador, a eliminação de ficheiros, ficheiros de açagaçamento, etc. Quando executa ações no seu fluxo como "mover ficheiros" e "saída para um único ficheiro", provavelmente verá um aumento no valor do tempo de processamento pós-processamento.

  • Escrever a duração do estágio: O tempo para escrever os dados para um local de preparação para a Sinapse SQL
  • Operação de tabela SQL duração: O tempo gasto a mover dados das tabelas temporárias para a tabela alvo
  • Duração pré-SQL Duração & do pós-SQL: O tempo gasto a executar comandos de SQL pré/post
  • Duração do pré-comandos de duração & : O tempo gasto a executar quaisquer operações pré/post para fonte/pias baseadas em ficheiros. Por exemplo, mover ou eliminar ficheiros após o processamento.
  • Duração da fusão: O tempo gasto a fundir o ficheiro, os ficheiros de fusão são utilizados para lavatórios baseados em ficheiros quando escrevem para um único ficheiro ou quando é utilizado "Nome de ficheiro como dados de coluna". Se for gasto tempo significativo nesta métrica, deve evitar utilizar estas opções.
  • Tempo de fase: Quantidade total de tempo passado dentro de Spark para completar a operação como um palco.
  • Estabilidade de encenação temporária: Nome da tabela temporária utilizada pelos fluxos de dados para os dados de estágio na base de dados.

Linhas de erro

Ativar o manuseamento de linhas de erro no seu lavatório de fluxo de dados será refletido na saída de monitorização. Quando se coloca a pia como "reporte o sucesso do erro", a saída de monitorização mostrará o número de linhas de sucesso e de falhas quando clicar no nó de monitorização da pia.

Screenshot shows error rows.

Quando selecionar "reportar falha no erro", a mesma saída só será mostrada no texto de saída de monitorização da atividade. Isto porque a atividade de fluxo de dados devolverá a falha de execução e a visão de monitorização detalhada não estará disponível.

Screenshot shows error rows in activity.

Ícones do monitor

Este ícone significa que os dados de transformação já estavam em cache no cluster, por isso os timings e o caminho de execução levaram isso em conta:

Screenshot shows the disk icon.

Você também vê ícones do círculo verde na transformação. Representam uma contagem do número de sumidouros em que os dados estão a fluir.