Condividi tramite


Sequenza temporale dei processi

La sequenza temporale dei processi è un ottimo punto di partenza per comprendere la pipeline o la query. Offre una panoramica di ciò che era in esecuzione, del tempo necessario per ogni passaggio e se si sono verificati errori lungo la strada.

Come aprire la sequenza temporale dei processi

Nell'interfaccia utente di Spark fare clic su Processi e sequenza temporale eventi come evidenziato in rosso nello screenshot seguente. Verrà visualizzata la sequenza temporale. Questo esempio mostra il driver e l'executor 0 da aggiungere:

Sequenza temporale dei processi

Cosa cercare

Le sezioni seguenti illustrano come leggere la sequenza temporale degli eventi per individuare la possibile causa del problema di prestazioni o costi. Se si nota una di queste tendenze nella sequenza temporale, la fine di ogni sezione corrispondente contiene un collegamento a un articolo che fornisce indicazioni.

Errori di processi o executor non riusciti

Ecco un esempio di processo non riuscito e di executor rimossi, indicati da uno stato rosso, nella sequenza temporale degli eventi.

Processi con errori

Se vengono visualizzati processi non riusciti o executor non riusciti, vedere Processi o executor non riusciti rimossi.

Lacune nell'esecuzione

Cercare le lacune di un minuto o più, ad esempio in questo esempio:

Gap del processo

In questo esempio sono presenti diversi gap, alcuni dei quali evidenziati dalle frecce rosse. Se vedi le lacune nella sequenza temporale, sono un minuto o più? Le lacune brevi devono essere previste in quanto le coordinate del driver funzionano. Se sono presenti gap più lunghi, sono al centro di una pipeline? Oppure questo cluster è in esecuzione costantemente e quindi le lacune vengono spiegate dalle pause nell'attività? È possibile determinare questa situazione in base all'ora di avvio e alla fine del carico di lavoro.

Se si riscontrano lacune inspiegabili lunghe al centro di una pipeline, vedere Gap tra processi Spark.

Processi lunghi

La sequenza temporale è dominata da uno o pochi lavori lunghi? Questi lunghi lavori sarebbero qualcosa da analizzare. Nell'esempio seguente il carico di lavoro ha un processo molto più lungo degli altri. Questo è un buon obiettivo per l'indagine.

Processi lunghi

Fare clic sul processo più lungo in cui scavare. Per informazioni sull'analisi di questa fase lunga, vedere Diagnosi di una fase lunga in Spark.

Molti piccoli processi

Quello che stiamo cercando qui è una sequenza temporale dominata da piccoli posti di lavoro. che sarà simile al seguente:

Processi di piccole dimensioni

Si notino tutte le piccole linee blu. Ognuno di questi è un piccolo lavoro che ha richiesto alcuni secondi o meno.

Se la sequenza temporale è principalmente processi di piccole dimensioni, vedere Molti piccoli processi Spark.

Nessuna delle risposte precedenti

Se la sequenza temporale non è simile a quella precedente, il passaggio successivo consiste nell'identificare il processo più lungo. Ordinare i processi per durata e fare clic sul collegamento nella descrizione per il processo più lungo:

Identificazione del processo più lungo

Una volta che si è nella pagina per il processo più lungo, altre informazioni sull'analisi di questa fase lunga sono in Diagnosi di una fase lunga in Spark.