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 cronologia 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 dell'indicatore di stato.

Aprire l'interfaccia utente Web del server cronologia Spark dalla pagina dei dettagli dell'app Apache Spark

L'interfaccia utente Web di Spark può essere aperta anche tramite la pagina dei dettagli dell'applicazione Apache Spark. Selezionare Hub di monitoraggio sul lato sinistro della pagina, 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. Selezionando Servercronologia di Spark viene visualizzata la pagina 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

Selezionare l'ID del processo da visualizzare. Successivamente, selezionare Grafico nel menu degli strumenti per passare alla visualizzazione grafici.

Panoramica

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

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

Schermo

Per impostazione predefinita, la visualizzazione Stato è 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 del processo.

Riproduzione

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

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 esecuzione: 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: impossibile caricare l'attività.

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

Screenshot che mostra l'applicazione Spark e l'esempio di colore nel grafico del processo (operazione 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 processo (operazione ignorata).

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 il pulsante di scorrimento del mouse per ingrandire e ridurre il grafico del processo, oppure selezionare Esegui zoom e adatta per adattarlo allo schermo.

Screenshot che mostra l'applicazione Spark e lo zoom del grafico del processo da adattare.

Descrizioni comandi

Passare il puntatore sul nodo del grafico per visualizzare la descrizione comando quando sono presenti attività non riuscite e selezionare una fase per aprire la pagina relativa.

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

Nella scheda relativa al grafico del processo, per le fasi sono visualizzate una descrizione comando e una piccola icona se sono presenti attività che soddisfano le condizioni seguenti:

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 del processo visualizza le informazioni seguenti per ogni fase:

  • ID
  • Nome o descrizione
  • Numero totale di attività
  • Dati letti: la somma delle dimensioni di input e delle dimensioni dei dati casuali letti
  • Scrittura dati: la somma delle dimensioni di output e delle dimensioni delle scritture di sequenze casuali
  • Tempo di esecuzione: tempo tra l'ora di inizio del primo tentativo e l'ora di completamento dell'ultimo tentativo
  • Conteggio righe: somma di record di input, record di output, record di lettura di sequenze casuali e record di scrittura di sequenze casuali
  • 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 su 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 del processo.

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 è presente un numero eccessivo di fasi, l'operazione non riuscita restituirà 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.

Esplorare la scheda Diagnosi nel server cronologia Apache Spark

Per accedere alla scheda Diagnosi, selezionare un ID processo. Selezionare quindi Diagnosi nel menu degli strumenti per andare alla vista Diagnosi del processo. La scheda relativa alla diagnosi include Asimmetria dei dati, Sfasamento dell'ora e Analisi dell'utilizzo 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 Car 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 Asimmetria dei dati della diagnosi dell'interfaccia utente 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 relativo all'asimmetria dell'interfaccia utente di Spark per la fase 10.

Sfasamento dell'ora

La scheda Sfasamento dell'ora visualizza le attività asimmetriche 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. Fase asimmetrica e Grafico asimmetrie visualizzano le informazioni sulle fasi e sulle attività corrispondenti, proprio come nella scheda Asimmetria dei dati 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 all'asimmetria dell'ora della diagnosi dell'interfaccia utente Spark.

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.