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

3 minuti di lettura
0

Desidero raccogliere informazioni per risolvere i problemi relativi alle mie query di SQL Spark in Amazon EMR.

Risoluzione

Le query completate di Spark SQL si trovano nella scheda Interfacce utente dell'applicazione dello Spark History Server del cluster EMR. Per ulteriori informazioni, consulta la sezione Visualizzazione di interfacce utente delle applicazioni persistenti.

Per accedere alle query completate di SQL Spark, procedi come indicato di seguito:

  1. Nello Spark History Server, seleziona SQL/DataFrame per visualizzare le query completate di SQL Spark.
  2. Seleziona gli ID applicazione dei processi di Spark SQL della query per aprire le informazioni relative all'ID del processo completato nella scheda Processi. Tieni presente che una query SQL potrebbe avere più di un ID processo.

Nella scheda Processi sono disponibili le seguenti informazioni:

  • Nella scheda Processi puoi visualizzare lo stato del processo, la sua durata e la query SQL associata.
  • La scheda Processi riporta anche la cronologia dell'ID applicazione. La cronologia mostra l'aggiunta e la rimozione degli esecutori di Spark in ordine cronologico.
  • Scorri verso il basso per visualizzare il DAG (Direct Acyclic Graph). Il DAG è una visualizzazione della query di SQL Spark. Puoi anche visualizzare la catena di dipendenze RDD.
  • Scorri ulteriormente per vedere le fasi completate del processo di Spark SQL.
  • Seleziona la descrizione dell'ID fase per visualizzare il tempo totale della query in tutte le attività, un riepilogo a livello di località e l'ID processo associato. La vista Fasi fornisce i dettagli di tutti gli RDD che corrispondono a tale fase. La vista fornisce anche informazioni sull'operazione RDD di livello più basso relativa all'operazione di alto livello in SQL Spark.
  • Espandi il Parametro aggregato per esecutore per visualizzare il log Esecutori. Il log Esecutori fornisce ulteriori dettagli sul processo di 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 scheda Jobs Tab nella sezione Web UI della documentazione di Apache Spark.

Informazioni correlate

Esame dei file di log

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa