Risolvere i problemi di ritardatari nei job batch

I ritardo sono elementi di lavoro che rallentano i job di Dataflow impedendo che vengano eseguiti in parallelo.

Un elemento in ritardo è un elemento di lavoro con le seguenti caratteristiche:

  • Il completamento di questa operazione richiede molto più tempo rispetto ad altri elementi di lavoro nella stessa fase.
  • Riducono il parallelismo all'interno della fase.
  • Impedisce l'avvio di nuovi lavori.

Nel peggiore dei casi, un elemento in ritardo blocca una fase dal completamento perché è in corso una piccola percentuale del lavoro, causando ritardi complessivi nel job.

Dataflow rileva gli elementi in ritardo che si verificano durante i job batch. Se Dataflow rileva uno elemento in ritardo, tenta anche di determinare la causa.

Visualizza elementi in ritardo nell'interfaccia di monitoraggio di Dataflow

Dopo aver avviato un job di Dataflow, puoi utilizzare la console Google Cloud per visualizzare gli elementi in ritardo rilevati.

Puoi visualizzare gli elementi in ritardo per fase o per worker. Utilizza queste viste per individuare le fasi in cui sono presenti elementi in ritardo e poi individua i worker in cui si sono verificati.

Visualizza elementi in ritardo per fase

Per visualizzare gli elementi in ritardo per fase:

  1. Nella console Google Cloud, vai alla pagina Job di Dataflow.

    Vai a Job

  2. Fai clic sul nome del job.

  3. Nella pagina dei dettagli del job, fai clic sulla scheda Dettagli esecuzione.

  4. Nell'elenco Visualizzazione grafico, seleziona Avanzamento fase. Il grafico di avanzamento mostra i conteggi aggregati di tutti gli elementi in ritardo rilevati in ogni fase.

  5. Passa il mouse sopra la barra di una fase per visualizzarne i dettagli. Per visualizzare i worker per la fase, fai clic su Visualizza worker nel riquadro dei dettagli.

Visualizza elementi in ritardo per lavoratore

Per visualizzare elementi in ritardo per lavoratore:

  1. Nella console Google Cloud, vai alla pagina Job di Dataflow.

    Vai a Job

  2. Fai clic sul nome del job.

  3. Nella pagina dei dettagli del job, fai clic sulla scheda Dettagli esecuzione.

  4. Nell'elenco Visualizzazione grafico, seleziona Avanzamento worker.

  5. Nell'elenco Filtra i worker per fase, seleziona la fase. Il grafico di avanzamento mostra gli elementi in ritardo rilevati per la fase in questione. La barra ha un'ombreggiatura più scura nel punto in cui viene rilevato per la prima volta

  6. Per visualizzare i dettagli di un worker, passa il mouse sopra la barra del worker in questione.

Nel riquadro Informazioni sulla fase, la sezione Dettagli elementi in ritardo elenca gli elementi in ritardo per tutti i worker mostrati nella pagina, con le seguenti informazioni:

  • L'ora di inizio in cui è stato rilevato un elemento in ritardo.
  • L'operaio che ha incontrato la stravagante.
  • La causa, se nota.

Risolvere i problemi relativi agli elementi in ritardo

Dataflow rileva le seguenti cause di elementi in ritardo:

Risolvere i problemi di ritardi causati dai tasti di scelta rapida

Esistono diversi fattori che possono causare l'assenza di elementi mobili, ma una delle cause più comuni è l'esistenza di un tasto di scelta rapida. Una chiave hotkey è una chiave che rappresenta molti più elementi rispetto ad altre chiavi nello stesso PCollection. Le chiavi di scelta rapida possono creare elementi in ritardo perché limitano la capacità di Dataflow di elaborare gli elementi in parallelo.

Se Dataflow rileva uno ritardatario causato da un tasto di scelta rapida, nel riquadro Dettagli Straggler viene elencato Hot Key come causa.

Per impostazione predefinita, Dataflow non visualizza il valore della chiave hotkey. Per visualizzare la coppia chiave-valore, imposta l'opzione della pipeline hotKeyLoggingEnabled su true quando esegui il job.

Per risolvere questo problema, verifica che i dati siano distribuiti in modo uniforme. Se una chiave ha un numero elevato di valori, considera le seguenti azioni:

Passaggi successivi