es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tiempo de espera de consulta de Athena para el bucket que contiene demasiadas entradas de registro

Estoy ejecutando una consulta simple en Athena como sigue:

SELECT * FROM "logs"
WHERE parse_datetime(requestdatetime,'dd/MMM/yyyy:HH:mm:ss Z')
BETWEEN parse_datetime('2021-12-01:00:00:00','yyyy-MM-dd:HH:mm:ss')
AND
parse_datetime('2021-12-21:19:00:00','yyyy-MM-dd:HH:mm:ss');

Sin embargo, esto se agota debido al tiempo de espera predeterminado de 30 minutos para DML.

Los registros del camino que estoy consultando son varios millones.

¿Hay alguna manera de solucionar esto en Athena o hay una alternativa más adecuada para este propósito?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como la consulta se está agotando debido al tiempo límite predeterminado de 30 minutos de DML y debido a que las entradas de la ruta que se está consultando están en los millones, una opción alternativa para abordar esta situación puede ser dividir los datos en particiones. Al particionar los datos, podemos procesar solo las particiones relevantes que cumplan con nuestros criterios de consulta en lugar de procesar todo de una vez.

    Podemos particionar los datos ya sea agregando claves de partición a los datos en Amazon S3 o utilizando la proyección de partición. La proyección de partición es una función de Amazon Athena que nos permite particionar los datos especificando la clave de partición en la consulta en lugar de modificar los metadatos de los datos en Amazon S3.

    Otra forma de abordar la situación es aumentar el tiempo límite de DML de Athena. El tiempo límite predeterminado de 30 minutos se puede modificar cambiando el valor del parámetro athena_workgroup_query_execution_timeout en la configuración del grupo de trabajo de Athena. Al aumentar el tiempo límite, podemos permitir que se ejecuten consultas más largas sin agotarse el tiempo.

    Por último, si el conjunto de datos es demasiado grande y la partición y el aumento del tiempo límite de DML no resuelven el problema, podemos considerar el uso de Amazon Redshift, que es una solución de almacenamiento de datos que puede manejar conjuntos de datos más grandes y consultas más complejas. Redshift utiliza un almacenamiento de datos columnar y un procesamiento masivamente paralelo para analizar conjuntos de datos a gran escala de manera rápida.

    En resumen, la partición de los datos, el aumento del tiempo límite de DML o la migración a Amazon Redshift son algunas de las formas de abordar la consulta que se agota debido al tiempo límite predeterminado de DML de 30 minutos en Athena al trabajar con conjuntos de datos grandes.

Comments are closed.