Distorsione e tracimazione
Versamento
La prima cosa da cercare in una fase a esecuzione prolungata è se è presente spill.
Nella parte superiore della pagina della fase verranno visualizzati i dettagli, che possono includere statistiche sulla perdita:
Lo spill di memoria è ciò che accade quando Spark esaurisce la memoria disponibile. Inizia a spostare i dati dalla memoria al disco e questo può essere piuttosto costoso. È più comune durante il riordino dei dati.
Se non vengono visualizzate statistiche per l'evento di spill, significa che lo stadio non ha alcun spill. Se la fase presenta qualche perdita, vedere questa guida su come gestire la perdita causata da shuffle.
Inclinazione
La cosa successiva da esaminare è se è presente asimmetria. L'asimmetria è quando una o poche attività richiedono molto più tempo del resto. Questo comporta un utilizzo inefficace del cluster e lavori più lunghi.
Scorrere verso il basso fino alle metriche di riepilogo. La cosa principale che stiamo cercando è che la durata Max sia molto superiore rispetto alla durata del 75° percentile. Lo screenshot seguente mostra una fase di integrità, in cui il 75° percentile e Max sono gli stessi.
Se la durata massima supera di 50% il 75° percentile, potresti avere un problema di asimmetria.
Se noti un'asimmetria, scopri i passaggi per correggerla qui.
Nessuna asimmetria o spilla
Se non visualizzi asimmetria o overflow, torna alla pagina del processo per avere una panoramica di cosa sta succedendo. Scorrere verso l'inizio della pagina e fare clic su ID lavoro associati:
Se la fase non presenta overflow o asimmetria, vedere il punto Fase Spark con elevato I/O per i passaggi successivi.