Salta al contenuto

Come posso risolvere gli errori "Query Timeout" in Athena?

4 minuti di lettura
0

Ho eseguito una query in Amazon Athena e non è riuscita con il messaggio di errore "Query Timeout".

Breve descrizione

Potresti ricevere errori di timeout delle query o query che vengono eseguite lentamente quando viene superato il limite di timeout delle query DML.

Risoluzione

Segui queste best practice per ottimizzare le query ed evitare errori di timeout.

Riduci il tempo necessario per eseguire la query da Athena

Di seguito sono riportati i passaggi che puoi eseguire in Athena per ridurre il tempo di esecuzione delle query:

Aumenta il runtime delle query per Amazon Athena

Quando importi dati da Athena ad Amazon Quick Sight SPICE, puoi ricevere errori di timeout delle query perché la query DML raggiunge il suo tempo massimo di esecuzione.

Per risolvere il problema:

  1. Controlla la cronologia delle query in Athena per individuare la query generata da Quick Sight.
  2. Controlla per quanto tempo è stata eseguita la query prima di non andare a buon fine.
  3. Segui i passaggi riportati nella sezione precedente "Riduci il tempo necessario per eseguire la query da Athena" ed esegui nuovamente la query. Se questo non risolve il problema della query, vai al passaggio 4.
  4. Se l'intervallo di tempo è prossimo alla quota massima di timeout delle query DML (in minuti), aumenta la quota di servizio.

Per ulteriori informazioni su Service Quotas e per richiedere un aumento della quota, consulta Quote di servizio AWS.

Configurare le notifiche per il timeout di una query in Athena

Per ricevere una notifica delle query scadute e con esito negativo, utilizza una regola dell'evento in Amazon CloudWatch per acquisire l'evento. Quindi utilizza Amazon Simple Notification Service (Amazon SNS) per configurare le notifiche.

Per istruzioni, consulta How do I generate notifications for an Athena query timeout? (Come posso generare notifiche per il timeout di una query in Athena?)

Interrogazioni sui log di accesso di Amazon S3

Se esegui query sui log di accesso di Amazon Simple Storage Service (Amazon S3) e la query scade, puoi partizionare i dati in S3. Utilizza un processo ETL di AWS Glue per partizionare i dati in Amazon S3. Quindi esegui le query in Athena su partizioni limitate.

Per istruzioni, consulta How do I use a partitioned Amazon S3 access log to prevent an Athena query timeout? (Come posso utilizzare un log di accesso di Amazon S3 partizionato per evitare il timeout di una query in Athena?)

Query sui dati di CloudTrail

Se utilizzi Athena per eseguire query sui dati di AWS CloudTrail, l'esecuzione delle query potrebbe richiedere molto tempo o scadere. Questo accade perché i log di CloudTrail possono aumentare di dimensioni nel tempo anche se si partiziona la tabella CloudTrail per ridurre il tempo di esecuzione delle query.

Utilizza la proiezione delle partizioni per creare manualmente una tabella CloudTrail. Ciò consente ad Athena di calcolare dinamicamente il valore delle tabelle CloudTrail, riducendo il runtime delle query. Con la proiezione delle partizioni, non hai necessità di gestire le partizioni perché i valori e le posizioni delle partizioni vengono calcolati in base alla configurazione.

Per istruzioni, consulta Come posso utilizzare la proiezione delle partizioni per creare tabelle CloudTrail per le query con Athena?

Utilizza le query CTAS

Una query CREATE TABLE AS SELECT (CTAS) crea una nuova tabella in Athena dai risultati di un'istruzione SELECT di un'altra query. CTAS crea tabelle dai risultati delle query in un unico passaggio, il che semplifica il lavoro con set di dati grezzi. Le query CTAS migliorano inoltre le prestazioni delle query e ne riducono i costi.

Per alcuni esempi, consulta Esempi di query CTAS.

Per ulteriori informazioni, consulta Come posso modificare il numero o la dimensione dei file quando eseguo una query CTAS in Amazon Athena?

Utilizza le istruzioni EXPLAIN e EXPLAIN ANAL

Per query complesse in Athena, utilizza EXPLAIN e EXPLAIN ANALYZE. L'istruzione EXPLAIN può ottimizzare le query perfezionando le istruzioni SQL e verificare l'eliminazione delle partizioni.

Per l'utilizzo delle istruzioni EXPLAIN e EXPLAIN ANALYZE, leggi le relative considerazioni e limitazioni.

Per ulteriori informazioni, consulta Esempi di EXPLAIN.

Informazioni correlate

Top 10 Performance Tuning Tips for Amazon Athena (I 10 migliori consigli per l'ottimizzazione delle prestazioni per Amazon Athena)

Come posso utilizzare i risultati di una query Amazon Athena in un'altra query?

AWS UFFICIALEAggiornata 2 anni fa