Come posso risolvere una query Spark SQL non riuscita o bloccata in Amazon EMR?

3 minuti di lettura
0

Desidero avere informazioni su come risolvere i problemi relativi alle mie query Spark SQL in Amazon EMR.

Risoluzione

Le query Spark SQL completate si trovano nella scheda Application User Interfaces (Interfacce utente applicazioni) dello Spark History Server del cluster EMR. Per ulteriori informazioni, consulta Visualizzazione di interfacce utente delle applicazioni persistenti.

Per accedere alle query Spark SQL completate, procedi come segue:

  1. Su Spark History Server, seleziona SQL/DataFrame per visualizzare le query Spark SQL completate.
  2. Seleziona gli ID dell'applicazione del processo Spark SQL della query per aprire le informazioni sull'ID del processo completato nella scheda Jobs (Processi). Tieni presente che una query SQL potrebbe avere più di un ID del processo.

Le seguenti informazioni sono disponibili nella scheda Jobs:

  • Nella scheda Jobs è possibile visualizzare lo stato del processo, la durata del processo e la query SQL associata.
  • Nella scheda Jobs, è possibile esaminare la cronologia dell'ID dell'applicazione. La cronologia mostra l'aggiunta e la rimozione degli esecutori Spark in ordine cronologico.
  • Scorri verso il basso per visualizzare il DAG (grafo aciclico diretto). Il DAG è una visualizzazione della query Spark SQL. È possibile visualizzare anche la catena di dipendenze RDD.
  • Scorri ancora per vedere le fasi completate del processo Spark SQL.
  • Seleziona la descrizione dell'ID della fase per visualizzare il tempo totale della query in tutte le attività, un riepilogo a livello di località e l'ID del processo. La modalità di visualizzazione Stages (Fasi) fornisce dettagli su tutti gli RDD corrispondenti a questa fase. Questa modalità di visualizzazione, inoltre, fornisce informazioni sull'operazione RDD di livello inferiore correlata all'operazione SQL Spark di alto livello.
  • Espandi Aggregated Metric by Executor (Metrica aggregata per esecutore) per visualizzare il log Executors (Esecutori). Il log Executors fornisce dettagli aggiuntivi sul processo Spark SQL. Di seguito è riportato un esempio di log:
23/01/17 18:10:17 INFO Executor: Finished task 0.0 in stage 16.0 (TID 16). 1882 bytes result sent to driver
23/01/17 18:10:17 INFO YarnCoarseGrainedExecutorBackend: Got assigned task 17
23/01/17 18:10:17 INFO Executor: Running task 0.0 in stage 17.0 (TID 17)
23/01/17 18:10:17 INFO TorrentBroadcast: Started reading broadcast variable 17 with 1 pieces (estimated total size 4.0 MiB)
23/01/17 18:10:17 INFO MemoryStore: Block broadcast_17_piece0 stored as bytes in memory (estimated size 7.2 KiB, free 4.8 GiB)
23/01/17 18:10:17 INFO TorrentBroadcast: Reading broadcast variable 17 took 8 ms
23/01/17 18:10:17 INFO MemoryStore: Block broadcast_17 stored as values in memory (estimated size 13.8 KiB, free 4.8 GiB)
23/01/17 18:10:17 INFO PythonRunner: Times: total = 52, boot = -31, init = 83, finish = 0
23/01/17 18:10:17 INFO Executor: Finished task 0.0 in stage 17.0 (TID 17). 1883 bytes result sent to driver
23/01/17 18:11:20 ERROR CoarseGrainedExecutorBackend: RECEIVED SIGNAL TERM
23/01/17 18:11:20 INFO MemoryStore: MemoryStore cleared
23/01/17 18:11:20 INFO BlockManager: BlockManager stopped
23/01/17 18:11:20 INFO ShutdownHookManager: Shutdown hook called

Per informazioni dettagliate, consulta la Jobs Tab (Scheda processi) nella sezione Web UI (Interfaccia utente Web) della documentazione di Apache Spark.


Informazioni correlate

Esame dei file di log

AWS UFFICIALE
AWS UFFICIALEAggiornata 4 mesi fa