Salta al contenuto

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

3 minuti di lettura
0

Quando eseguo una query in Amazon Athena, la query ha esito negativo e ricevo l'errore "Query timeout".

Risoluzione

Le query in Athena hanno esito negativo con errori di timeout quando superano la quota di timeout delle query DML. Per risolvere l'errore, utilizza le seguenti soluzioni.

Riduci o aumenta il runtime delle query di Athena

Segui le istruzioni in Come posso risolvere gli errori "query timeout" quando importo dati da Athena a Quick Sight SPICE?

Configura le notifiche per i timeout delle query di 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.

Esegui query 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, 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?)

Esegui 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 aumentano di dimensioni nel tempo anche se partizioni la tabella CloudTrail per ridurre il runtime 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 e di ridurre il runtime delle query. La proiezione delle partizioni calcola i valori e le posizioni delle partizioni dalla configurazione, eliminando la gestione manuale delle partizioni.

Utilizza le query CTAS

Per migliorare le prestazioni delle query, utilizza una query CREATE TABLE AS SELECT (CTAS) per creare 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 per semplificare l'uso dei 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.

Utilizza le istruzioni EXPLAIN e EXPLAIN ANAL

Per query complesse in Athena, utilizza EXPLAIN e EXPLAIN ANALYZE. L'istruzione EXPLAIN perfeziona le istruzioni SQL e verifica l'eliminazione delle partizioni per ottimizzare le query. È consigliabile prendere visione di quanto riportato in Considerazioni e limitazioni sulle istruzioni EXPLAIN e EXPLAIN ANALYZE.

Per ulteriori informazioni, consulta Esempi di EXPLAIN e Esempi di EXPLAIN ANALYZE.

Informazioni correlate

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

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