Saltar al contenido

¿Cómo puedo resolver los errores "Query timeout" en Athena?

3 minutos de lectura
0

Cuando ejecuto una consulta en Amazon Athena, se produce el error "Query timeout".

Resolución

Las consultas de Athena fallan con errores de tiempo de espera cuando superan la cuota de tiempo de espera de las consultas de DML. Para resolver el error, utiliza las siguientes soluciones.

Reducción o aumento de la versión ejecutable de las consultas desde Athena

Sigue las instrucciones de la sección ¿Cómo soluciono los errores "query timeout" al importar datos de Athena a Quick Sight SPICE?

Configuración de las notificaciones para tiempos de espera de consultas de Athena

Para recibir una notificación sobre consultas que hayan agotado el tiempo de espera y devuelto un error, usa una regla de eventos de Amazon CloudWatch para capturar el evento. A continuación, utiliza Amazon Simple Notification Service (Amazon SNS) para configurar las notificaciones.

Consulta de los registros de acceso a Amazon S3

Si ejecutas consultas para los registros de acceso de Amazon Simple Storage Service (Amazon S3) y se agota el tiempo de espera de la consulta, utiliza un trabajo ETL de AWS Glue para particionar los datos de Amazon S3. A continuación, ejecuta las consultas de Athena en particiones limitadas. Para obtener instrucciones, consulta How do I use a partitioned Amazon S3 access log to prevent an Athena query timeout? (¿Cómo uso un registro de acceso de Amazon S3 particionado para evitar que se agote el tiempo de espera de una consulta de Athena?)

Consulta de datos de CloudTrail

Si utilizas Athena para consultar datos de AWS CloudTrail, es posible que las consultas tarden mucho en ejecutarse o que se agote el tiempo de espera. Esto se debe a que el tamaño de los registros de CloudTrail aumenta con el tiempo, incluso si fragmentas la tabla de CloudTrail en particiones para reducir la versión ejecutable de las consultas.

Usa la proyección de particiones para crear manualmente una tabla de CloudTrail. Esto permite a Athena calcular dinámicamente el valor de las tablas de CloudTrail y reducir la versión ejecutable de las consultas. La proyección de particiones calcula los valores y las ubicaciones de las particiones a partir de la configuración, lo que elimina la administración manual de particiones.

Uso de consultas de CTAS

Para mejorar el rendimiento de las consultas, utiliza una consulta CREATE TABLE AS SELECT (CTAS) para crear una nueva tabla en Athena a partir de los resultados de una instrucción SELECT de otra consulta. CTAS crea tablas a partir de los resultados de las consultas en un solo paso para facilitar el uso de los conjuntos de datos sin procesar. Las consultas de CTAS también mejoran el rendimiento de las consultas y reducen los costes de estas. Si quieres ver ejemplos, consulta Ejemplos de consultas CTAS.

Uso de las instrucciones EXPLAIN y EXPLAIN ANALYZE

Usa EXPLAIN y EXPLAIN ANALYZE en Athena para realizar consultas complejas. La instrucción EXPLAIN refina las instrucciones SQL y verifica la eliminación de particiones para optimizar las consultas. Se recomienda revisar las consideraciones y limitaciones de las instrucciones EXPLAIN y EXPLAIN ANALYZE.

Para obtener más información, consulta los ejemplos de EXPLAIN y ejemplos de EXPLAIN ANALYZE.

Información relacionada

Top 10 performance tuning tips for Amazon Athena (Los 10 mejores consejos para ajustar el rendimiento de Amazon Athena)

¿Cómo utilizo los resultados de una consulta de Amazon Athena en otra consulta?