Dettagli esecuzione

Dataflow fornisce una scheda Dettagli esecuzione nella sua interfaccia utente di monitoraggio basata sul web. Questo strumento può aiutarti a ottimizzare le prestazioni dei tuoi job e diagnosticare il motivo per cui il job potrebbe essere lento o bloccato. Questo documento è rivolto a qualsiasi utente Dataflow che deve esaminare i dettagli dell'esecuzione dei propri job Dataflow.

Questa pagina fornisce un riepilogo generale della funzionalità dei dettagli di esecuzione e del relativo layout dell'interfaccia utente. Per informazioni dettagliate sulla risoluzione dei problemi, consulta Utilizzare la scheda Dettagli di esecuzione.

Terminologia

Per utilizzare i dettagli di esecuzione in modo efficace, devi comprendere come i seguenti concetti chiave si applicano ai job Dataflow:

Terminologia di Dataflow

  • Ottimizzazione della fusione: il processo con cui Dataflow fonde più passaggi o trasformazioni. In questo modo vengono ottimizzate le pipeline inviate dagli utenti. Per ulteriori informazioni, consulta la pagina Ottimizzazione della fusione.
  • Fasi: l'unità dei passaggi fusi nelle pipeline di Dataflow.
  • Ultima fase: il nodo finale delle pipeline di Dataflow. Una pipeline può avere più nodi finali.

Terminologia batch

  • Percorsi critici: la sequenza di fasi di una pipeline che contribuiscono al runtime complessivo del job. Ad esempio, questa sequenza esclude le seguenti fasi:
    • Rami della pipeline terminati prima del job complessivo.
    • Input che non hanno ritardato l'elaborazione downstream.
  • Worker: istanze VM di Compute Engine che eseguono un job Dataflow.
  • Elementi di lavoro: le unità di lavoro corrispondenti a un set selezionato da Dataflow.

Terminologia relativa ai flussi di dati

Quando utilizzare i dettagli di esecuzione

Di seguito sono riportati scenari comuni per l'utilizzo dei dettagli di esecuzione durante l'esecuzione di job Dataflow:

  • La pipeline è bloccata e vuoi risolvere il problema.
  • La tua pipeline è lenta e vuoi scegliere come target l'ottimizzazione della pipeline.
  • Non è necessario sistemare nulla, ma vuoi vedere i dettagli di esecuzione della pipeline per comprendere il job.

Abilita dettagli esecuzione

La visualizzazione Flusso di lavoro temporaneo viene abilitata automaticamente per tutti i job in batch e in flussi. I job batch e flusso dispongono anche di una visualizzazione Avanzamento fase, mentre i job batch hanno un'ulteriore visualizzazione Avanzamento worker.

Questa funzionalità non comporta un utilizzo aggiuntivo di CPU, rete e così via per le tue VM. I dettagli dell'esecuzione vengono raccolti dal sistema di monitoraggio backend di Dataflow, il che non influisce sulle prestazioni del job.

Una volta avviato il job, puoi visualizzare la scheda Dettagli esecuzione utilizzando l'interfaccia utente di monitoraggio di Dataflow. Per ulteriori informazioni, consulta Accesso all'interfaccia di monitoraggio di Dataflow.

Utilizzare la scheda Dettagli esecuzione

La scheda Dettagli esecuzione include quattro visualizzazioni: Avanzamento fase, Riquadro informazioni fase (all'interno di Avanzamento fase), Flusso di lavoro fase e Avanzamento dei worker. Questa sezione illustra ogni visualizzazione e fornisce esempi di job Dataflow riusciti e non riusciti.

Avanzamento fase per job batch

La visualizzazione Avanzamento fase per i job batch mostra le fasi di esecuzione del job, ordinate in base all'ora di inizio e di fine. Il periodo di tempo è rappresentato da una barra. Ad esempio, puoi identificare visivamente le fasi di esecuzione più lunghe di una pipeline individuando la barra più lunga.

Sotto ogni barra, puoi trovare uno sparkline che mostra l'avanzamento della fase nel tempo. Per evidenziare le fasi che hanno contribuito al runtime complessivo del job, fai clic sul pulsante di attivazione/disattivazione Percorso critico. Inoltre, puoi utilizzare il menu a discesa "Filtra fasi" per selezionare solo le fasi che ti interessano.

Esempio della visualizzazione dell'avanzamento della fase per i job batch, che mostra la durata di sei diverse fasi di esecuzione.

Avanzamento fase per job di streaming

La visualizzazione Avanzamento fase per i job di streaming può essere suddivisa in due sezioni. La metà superiore della visualizzazione mostra un grafico che rappresenta l'aggiornamento dei dati per ogni fase di esecuzione del job. Passa il mouse sopra il grafico per visualizzare il valore Aggiornamento dei dati in quel preciso istante di tempo. La metà inferiore della vista mostra le fasi di esecuzione del job, disposte in ordine topologico, dove le fasi senza fasi discendenti sono mostrate in alto e i relativi discendenti sono elencati sotto. Questa visualizzazione semplifica l'identificazione delle fasi di una pipeline che richiedono più tempo del previsto. Le dimensioni delle barre dipendono dall'aggiornamento dei dati più lungo per l'intero dominio di tempo.

I job di flusso vengono eseguiti finché non vengono annullati, svuotati o aggiornati. Il selettore di data e ora sopra il grafico può essere utilizzato per restringere il dominio a un intervallo di tempo più utile. Inoltre, puoi utilizzare il menu a discesa "Filtra fasi" per selezionare solo le fasi che ti interessano.

La visualizzazione Avanzamento fase consente di identificare più facilmente quando il job di streaming è lento o bloccato in due modi diversi:

  1. Il grafico Aggiornamento dei dati per fasi include il rilevamento di anomalie, che mostrerà automaticamente le finestre temporali in cui l'aggiornamento dei dati non è integro. Il grafico evidenzierà "potenziale blocco" quando l'aggiornamento dei dati supera il 99° percentile per la finestra temporale selezionata. Allo stesso modo, il grafico evidenzia la "potenziale lentezza" quando l'aggiornamento dei dati supera il 95° percentile.
  2. I colli di bottiglia possono essere rilevati passando il mouse sopra un momento nel grafico che sembra anormale. Una volta passato il mouse, le barre più lunghe indicano le fasi più lente. In alternativa, puoi fare clic sull'asse x del grafico per visualizzare i dati in quell'istanza di tempo. Un approccio comune per trovare la fase che causa il blocco/lentezza è quella di trovare la fase più a monte (più in alto) o quella più a valle (più in basso) che causa un picco di aggiornamento dei dati. Questo approccio non è adatto a tutti gli scenari e potrebbe essere necessario un ulteriore debug per individuare la causa esatta.

Esempio della visualizzazione di avanzamento fase per job di flussi di dati, che mostra una visualizzazione del tempo di una fase di esecuzione e una possibile anomalia di lentezza.

Riquadro informazioni fase

Il riquadro informazioni Stage mostra un elenco dei passaggi associati a uno stage unito, classificati in base al tempo di intermittenza in ordine decrescente. Il riquadro si apre sul lato destro dello schermo. Per aprire il riquadro, passa il mouse sopra una delle barre nella visualizzazione Avanzamento fase e fai clic su Visualizza dettagli.

Esempio del riquadro informazioni sul palco

Flusso di lavoro fase

Il flusso di lavoro della fase mostra le fasi di esecuzione del job, rappresentate da un grafico del flusso di lavoro. Per visualizzare solo le fasi che hanno contribuito direttamente al runtime complessivo del job, fai clic sul pulsante di attivazione/disattivazione Percorso critico.

Esempio della visualizzazione del flusso di lavoro Fase che mostra la gerarchia delle diverse fasi di esecuzione di un job.

Avanzamento worker

Per i job batch, Avanzamento del worker mostra i worker in una fase specifica. Questa visualizzazione non è disponibile per i job di flussi di dati.

Ogni barra è mappata a un elemento di lavoro programmato per un lavoratore. Uno sparkline che tiene traccia dell'utilizzo della CPU da parte di un worker si trova sotto ogni worker, in modo da poter individuare più facilmente i problemi di sottoutilizzo.

A causa della densità di questa visualizzazione, devi filtrarla preselezionando una fase. Innanzitutto, identifica una fase nella visualizzazione Avanzamento fase. Passa il mouse sopra quella fase e fai clic su Visualizza worker per accedere alla visualizzazione Avanzamento dei worker.

Esempio di visualizzazione dell'avanzamento del worker. I worker hanno barre e grafici sparkline corrispondenti
alla pianificazione degli elementi di lavoro e agli utilizzi della CPU.

Passaggi successivi