Condividi tramite


Usare il server della cronologia di Apache Spark esteso per il debug e la diagnosi di applicazioni Apache Spark

Questo articolo illustra come usare il server cronologia Apache Spark esteso per il debug e la diagnosi delle applicazioni Spark completate e in esecuzione.

Accedere al server della cronologia di Apache Spark

Il server cronologia Apache Spark è l'interfaccia utente Web per le applicazioni Spark, sia completate che in esecuzione. È possibile aprire l'interfaccia utente Web di Apache Spark dal notebook dell'indicatore di stato o dalla pagina dei dettagli dell'applicazione Apache Spark.

Aprire l'interfaccia utente Web di Spark dal notebook dell'indicatore di stato

Quando viene avviato un processo di Apache Spark, il pulsante per aprire l'interfaccia utente Web Spark si trova nell'opzione Altre azioni nell'indicatore di stato. Selezionare Interfaccia utente Web di Spark e attendere alcuni secondi, quindi viene visualizzata la pagina dell'interfaccia utente di Spark.

Screenshot che mostra l'apertura dell'interfaccia utente web di Spark dal notebook con indicatore di avanzamento.

Aprire l'interfaccia web di Spark dalla pagina dei dettagli dell'applicazione Apache Spark

L'interfaccia utente Web di Spark può essere aperta anche tramite la pagina dei dettagli dell'applicazione Apache Spark. Selezionare Monitoraggio sul lato sinistro della pagina e quindi selezionare un'applicazione Apache Spark. Viene visualizzata la pagina dei dettagli dell'app.

Screenshot che mostra l'apertura dell'interfaccia utente Web di Spark dalla pagina dei dettagli dell'applicazione Apache Spark.

Per un'applicazione Apache Spark il cui stato è in esecuzione, il pulsante mostra Interfaccia utente di Spark. Selezionando Interfaccia utente di Spark viene visualizzata la pagina Interfaccia utente di Spark.

Screenshot che mostra il pulsante che fa visualizzare l'interfaccia utente di Spark nello stato in esecuzione.

Per un'applicazione Apache Spark il cui stato è terminato, tale stato terminato può essere Arrestato, Non riuscito, Annullato o Completato. Il pulsante mostra il server cronologia di Spark. Selezionare Server di cronologia di Spark e viene visualizzata la pagina dell'interfaccia utente di Spark.

Screenshot che mostra il pulsante che visualizza l'interfaccia utente di Spark nello stato terminato.

Scheda del grafico nel server cronologia Apache Spark

Seleziona l'ID del lavoro che desideri visualizzare. Successivamente, selezionare Grafico nel menu degli strumenti per passare alla visualizzazione del grafo di lavoro.

Panoramica

È possibile visualizzare una panoramica del tuo incarico nel grafico generato dell'incarico. Per impostazione predefinita, il grafico mostra tutti i processi. È possibile filtrare questa visualizzazione in base all'ID lavoro.

Screenshot che mostra l'applicazione Spark e l'ID del job nel grafico del job.

Schermo

Per impostazione predefinita, la visualizzazione Progresso è selezionata. È possibile esaminare il flusso di dati selezionando Lettura o Dati scritti nell'elenco a discesa Visualizza.

Screenshot che mostra l'applicazione Spark e la visualizzazione del grafico del processo.

Il nodo del grafico visualizza i colori visualizzati nella legenda della mappa termica.

Screenshot che mostra l'applicazione Spark e la mappa termica del grafico dei job.

Riproduzione

Per riprodurre il processo, selezionare Riproduzione. È possibile selezionare Arresta in qualsiasi momento per interrompere. I colori delle attività indicano stati differenti durante il monitoraggio:

Colore Significato
Verde Esito positivo: il processo è stato completato correttamente.
Arancione Tentativi eseguiti: alcune istanze delle attività hanno avuto esito negativo, ma ciò non influisce sul risultato finale del processo. Per queste attività sono presenti istanze duplicate o nuovi tentativi che potrebbero riuscire in un secondo momento.
Blu In corso: l'attività è in esecuzione.
Bianco Processo in attesa o ignorato: l'attività è in attesa di esecuzione o la fase è stata ignorata.
Rosso Operazione non riuscita: l'attività è fallita.

L'immagine seguente mostra i colori di stato verde, arancione e blu.

Screenshot che mostra l'applicazione Spark e l'esempio del colore del grafico del lavoro, in esecuzione.

L'immagine seguente mostra i colori di stato verde e bianco.

Screenshot che mostra l'Applicazione Spark e l'esempio di colore nel grafico del job, salta.

L'immagine seguente mostra i colori di stato rosso e verde.

Screenshot che mostra l'applicazione Spark e l'esempio di colore nel grafico del processo (operazione non riuscita).

Nota

Il server cronologia Apache Spark consente la riproduzione per ogni processo completato, ma non consente la riproduzione per processi incompleti.

Zoom

Usare la rotellina del mouse per ingrandire e ridurre il grafico del lavoro, oppure selezionare Adatta allo schermo per adattarlo allo schermo.

Screenshot che mostra l'applicazione Spark e il grafico delle attività con zoom per adattarsi.

Suggerimenti

Sposta il cursore sul nodo del grafico per visualizzare il messaggio di aiuto quando ci sono attività non riuscite e seleziona una fase per aprire la sua pagina.

Screenshot che mostra l'applicazione Spark e il tooltip del grafico del job.

Nella scheda del grafico del lavoro, le fasi mostrano un tooltip e una piccola icona se hanno attività che soddisfano le seguenti condizioni:

Condizione Descrizione
Asimmetria dei dati Dimensioni di lettura dei dati > dimensioni medie di lettura dei dati di tutte le attività in questa fase * 2 e dimensioni di lettura dei dati > 10 MB.
Sfasamento dell'ora Tempo di esecuzione > tempo di esecuzione medio di tutte le attività in questa fase * 2 e tempo di esecuzione > 2 minuti.

Screenshot che mostra l'applicazione Spark e l'icona di asimmetria del grafico del processo.

Descrizione del nodo del grafico

Il nodo del grafico di lavoro visualizza le informazioni seguenti per ogni fase:

  • ID
  • Nome o descrizione
  • Numero totale di attività
  • Dati letti: la somma delle dimensioni di input e di lettura shuffle
  • Scrittura dati: la somma delle dimensioni di output e delle dimensioni delle scritture di rimescolamento
  • Tempo di esecuzione: tempo tra l'ora di inizio del primo tentativo e l'ora di completamento dell'ultimo tentativo
  • Conteggio righe: somma dei record di input, record di output, record letti durante la riorganizzazione e record scritti durante la riorganizzazione
  • Avanzamento

Nota

Per impostazione predefinita, il nodo del grafico del processo visualizza le informazioni sull’ultimo tentativo di ogni fase, ad eccezione del tempo di esecuzione della fase. Tuttavia, durante la riproduzione, il nodo del grafico mostra le informazioni di ogni tentativo.

Le dimensioni dei dati di lettura e scrittura sono pari a 1 MB = 1000 KB = 1000 * 1000 byte.

Inviare commenti

Per inviare feedback relativi ai problemi, fare clic su Invia feedback.

Screenshot che mostra l'applicazione Spark e il feedback del grafico dei processi.

Limite del numero di fase

Per considerazioni sulle prestazioni, per impostazione predefinita il grafico è disponibile solo quando l'applicazione Spark ha meno di 500 fasi. Se ci sono troppe fasi, si verificherà un errore simile al seguente:

The number of stages in this application exceeds limit (500), graph page is disabled in this case.

Come soluzione alternativa, prima di avviare un'applicazione Spark, applicare la configurazione Spark seguente per aumentare il limite:

spark.ui.enhancement.maxGraphStages 1000

Si noti tuttavia che ciò può comportare prestazioni non ottimali della pagina e dell'API, perché le dimensioni del contenuto possono essere eccessive per il recupero e il rendering del browser.

Esplora la scheda Diagnosi nel server di cronologia di Apache Spark

Per accedere alla scheda di Diagnosi, selezionare un ID lavoro. Selezionare quindi Diagnosi nel menu degli strumenti per andare alla vista Diagnosi del processo. La scheda relativa alla diagnosi include Disequilibrio dei dati, Incongruenza temporale e Analisi dell'uso dell'executor.

Esaminare i valori di Asimmetria dei dati, Sfasamento dell'ora e Analisi dell'utilizzo dell'executor selezionando le rispettive schede.

Screenshot che mostra di nuovo la scheda Asimmetria dei dati della diagnosi di sparkUI.

Asimmetria dei dati

Quando si seleziona la scheda Asimmetria dei dati, sono visualizzate le attività asimmetriche corrispondenti in base ai parametri specificati.

  • Specificare i parametri: la prima sezione visualizza i parametri usati per rilevare Asimmetria dei dati. La regola predefinita è: i dati dell'attività letti rappresentano il triplo della media dei dati dell'attività letti e i dati dell'attività letti sono superiori a 10 MB. Se si desidera definire una regola personalizzata per le attività asimmetriche, è possibile scegliere i parametri. Le sezioni Fase asimmetrica e Carattere asimmetrico vengono aggiornate di conseguenza.

  • Fase asimmetrica: la seconda sezione visualizza le fasi che hanno attività asimmetriche che soddisfano i criteri specificati precedentemente. Se in una fase è presente più di un'attività asimmetrica, nella tabella delle fasi asimmetriche viene visualizzata soltanto l'attività con più asimmetria, ad esempio, i dati di dimensioni maggiori per l'asimmetria dei dati.

    Screenshot che mostra la scheda Diagnosi dell'asimmetria dei dati dell'UI Spark.

  • Grafico asimmetrie: quando viene selezionata una riga nella tabella delle fasi asimmetriche, il grafico delle asimmetrie visualizza più dettagli delle distribuzioni delle attività in base ai dati letti e al tempo di esecuzione. Le attività asimmetriche sono contrassegnate in rosso e le attività normali sono contrassegnate in blu. Il grafico visualizza fino a 100 attività di esempio e i dettagli dell'attività vengono visualizzati nel pannello inferiore destro.

    Screenshot che mostra il grafico dell'asimmetria dell'interfaccia utente di Spark per la fase 10.

Disallineamento Temporale

La scheda Sfasamento temporale visualizza le attività distorte in base al tempo di esecuzione.

  • Specificare i parametri: la prima sezione visualizza i parametri, che vengono usati per rilevare l'asimmetria dell'ora. I criteri predefiniti per il rilevamento dello sfasamento dell'ora sono: il tempo di esecuzione dell'attività è maggiore di tre volte rispetto al tempo medio di esecuzione e il tempo di esecuzione dell'attività è maggiore di 30 secondi. È possibile modificare i parametri in base alle esigenze. La Stage Skewed e il Grafico Skew visualizzano le informazioni sulle fasi e sulle attività corrispondenti, proprio come la scheda Data Skew descritta precedentemente.

  • Selezionando Asimmetria dell'ora i risultati filtrati verranno visualizzati nella sezione Fase asimmetrica in base ai parametri impostati nella sezione Specificare i parametri. Selezionando un elemento nella sezione Fase asimmetrica verrà realizzata una bozza del grafico corrispondente nella sezione 3 e i dettagli delle attività vengono visualizzati nel pannello inferiore destro.

    Screenshot che mostra la sezione relativa al disallineamento temporale della diagnosi nella Spark UI.

Analisi dell'utilizzo dell'executor

Ora, questa funzionalità è stata deprecata in Fabric. Se si vuole comunque usarla come soluzione alternativa, accedere alla pagina aggiungendo in modo esplicito "/executorusage" dietro il percorso "/diagnostic" nell'URL, come riportato di seguito:

Screenshot che mostra come modificare l'url.