Ir para o conteúdo

Como posso resolver erros "Query timeout" no Athena?

3 minuto de leitura
0

Quando executo uma consulta no Amazon Athena, ela falha e recebo o erro "Query timeout".

Resolução

As consultas do Athena apresentam falha com erros de tempo limite quando excedem a cota de tempo limite da consulta DML. Para resolver o erro, use as soluções a seguir.

Reduza ou aumente o runtime da consulta do Athena

Siga as instruções em Como soluciono erros "query timeout" ao importar dados do Athena para o SPICE do Quick Sight?

Configure notificações para tempos limite de consulta do Athena

Para receber uma notificação sobre consultas que atingem o tempo limite e falham, use uma regra de evento do Amazon CloudWatch para capturar o evento. Em seguida, use o Amazon Simple Notification Service (Amazon SNS) para configurar as notificações.

Consulte os logs de acesso do Amazon S3

Se você executar consultas nos logs de acesso do Amazon Simple Storage Service (Amazon S3) e a consulta atingir o tempo limite, use um trabalho ETL do AWS Glue para particionar seus dados do Amazon S3. Em seguida, execute as consultas do Athena em partições limitadas. Para obter instruções, consulte How do I use a partitioned Amazon S3 access log to prevent an Athena query timeout? (Como uso um log de acesso particionado do Amazon S3 para evitar o tempo limite de uma consulta do Athena?)

Consulte dados do CloudTrail

Se você usa o Athena para consultar dados do AWS CloudTrail, as consultas podem levar muito tempo para serem executadas ou atingir o tempo limite. Isso ocorre porque os logs do CloudTrail podem aumentar de tamanho com o tempo, mesmo se você particionar a tabela do CloudTrail para reduzir o runtime das consultas.

Use a projeção de partição para criar manualmente uma tabela do CloudTrail. Isso permite que o Athena calcule dinamicamente o valor das tabelas do CloudTrail, o que reduz o runtime da consulta. A projeção de partição calcula valores e localizações de partições a partir da configuração e isso elimina o gerenciamento manual de partições.

Use consultas CTAS

Para melhorar o desempenho da consulta, use uma consulta CREATE TABLE AS SELECT (CTAS) para criar uma nova tabela no Athena a partir dos resultados de uma declaração SELECT de outra consulta. O CTAS cria tabelas a partir dos resultados da consulta em uma única etapa para facilitar o uso de conjuntos de dados brutos. As consultas CTAS também melhoram o desempenho da consulta e reduzem os custos da consulta. Para ver exemplos, consulte Exemplos de consultas CTAS.

Use as instruções EXPLAIN e EXPLAIN ANALYZE

Use EXPLAIN e EXPLAIN ANALYZE no Athena para consultas complexas. A declaração EXPLAIN refina as instruções SQL e verifica a redução de partições para otimizar as consultas. É uma prática recomendada consultar as considerações e limitações das instruções EXPLAIN e EXPLAIN ANALYZE.

Para obter mais informações, consulte Exemplos de EXPLAIN e Exemplos de EXPLAIN ANALYZE.

Informações relacionadas

Top 10 performance tuning tips for Amazon Athena (As 10 principais dicas de ajuste de desempenho para o Amazon Athena)

Como uso os resultados de uma consulta do Amazon Athena em outra consulta?