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
- Aggiornamento dei dati: la quantità di tempo che intercorre tra il tempo reale e la filigrana di output. Per ulteriori informazioni, consulta l'articolo Aggiornamento dei dati (solo pipeline in modalità flusso).
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.
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:
- 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.
- 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.
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.
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.
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.
Passaggi successivi
- Scopri di più sull'utilizzo della scheda Dettagli di esecuzione per la risoluzione dei problemi.
- Scopri di più sui diversi componenti dell'interfaccia utente di monitoraggio basata sul web di Dataflow.