Reutilización de los resultados de las consultas - Amazon Athena

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Reutilización de los resultados de las consultas

Al volver a ejecutar una consulta en Athena, puede optar por reutilizar el último resultado almacenado de la consulta. Esta opción puede aumentar el rendimiento y reducir los costos en términos del número de bytes escaneados. Reutilizar los resultados de las consultas es útil si, por ejemplo, sabe que los resultados no cambiarán dentro de un periodo de tiempo determinado. Puede especificar una antigüedad máxima para reutilizar resultados de las consultas. Athena usa el resultado almacenado siempre que no sea anterior a la antigüedad que usted especifique. Para obtener más información, consulte Reduce cost and improve query performance with Amazon Athena (Reducir los costos y mejorar el rendimiento de las consultas con Amazon Athena) en el blog sobre macrodatos de AWS .

nota

La función de reutilización de resultados de consultas requiere la versión 3 del motor Athena. Para obtener más información acerca del cambio de las versiones del motor Athena, consulte Cambio de las versiones del motor Athena.

Características principales

  • La reutilización de los resultados de las consultas es una característica opcional por consulta. Puede habilitar la reutilización de los resultados de las consultas por consulta.

  • La antigüedad máxima para reutilizar resultados de las consultas puede especificarse en minutos, horas o días. La antigüedad máxima especificable equivale a 7 días, independientemente de la unidad de tiempo utilizada. El valor predeterminado es de 60 minutos.

  • Al habilitar la reutilización de resultados para una consulta, Athena busca una ejecución anterior de la consulta dentro del mismo grupo de trabajo. Si Athena encuentra los resultados de la consulta almacenados correspondientes, no vuelve a ejecutar la consulta, sino que apunta a la ubicación del resultado anterior o extrae datos de ella.

  • Para cualquier consulta que habilite la opción de reutilización de resultados, Athena reutiliza el último resultado de la consulta guardado en la carpeta del grupo de trabajo solo cuando se cumplen todas las condiciones siguientes:

    • La cadena de consulta coincide de forma exacta.

    • El nombre del catálogo y la base de datos coinciden.

    • El resultado anterior no supera la antigüedad máxima especificada o no supera los 60 minutos si no se ha especificado una antigüedad máxima.

    • Athena solo reutiliza una ejecución que tenga exactamente la misma configuración de resultados que la ejecución actual.

    • Tiene acceso a todas las tablas a las que se hace referencia en la consulta.

    • Tiene acceso a la ubicación del archivo de S3 donde se almacena el resultado anterior.

Si no se cumple alguna de estas condiciones, Athena ejecuta la consulta sin utilizar los resultados almacenados en caché.

Consideraciones y limitaciones

Cuando utilice la función de reutilización de resultados de las consultas, tenga en cuenta los siguientes puntos:

  • Athena reutiliza los resultados de las consultas solo dentro del mismo grupo de trabajo.

  • La característica de reutilización de los resultados de las consultas respeta las configuraciones de los grupos de trabajo. Si anula la configuración de resultados de una consulta, la característica se deshabilita.

  • Se admiten las tablas Apache Hive, Apache Hudi, Apache Iceberg y Linux Foundation Delta Lake registradas. AWS Glue No se admiten los almacenes de metadatos externos de Hive.

  • No se admiten las consultas que hagan referencia a catálogos federados o a un metaalmacén de Hive externo.

  • No se admite la reutilización de los resultados de las consultas en las tablas controladas de Lake Formation.

  • No se admite la reutilización de los resultados de las consultas cuando la ubicación de Amazon S3 del origen de la tabla se ha registrado como una ubicación de datos en Lake Formation.

  • No se admiten tablas con permisos de fila y columna.

  • No se admiten las tablas que tienen un control de acceso detallado (por ejemplo, filtrado de columnas o filas).

  • Las consultas que hagan referencia a una tabla no admitida no son aptas para la reutilización de los resultados de las consultas.

  • Athena requiere que disponga de permisos de lectura de Amazon S3 para poder volver a utilizar el archivo de salida generado anteriormente.

  • La característica de reutilización de los resultados de las consultas asume que el contenido del resultado anterior no se ha modificado. Athena no comprueba la integridad de un resultado anterior antes de usarlo.

  • Si los resultados de las consultas de la ejecución anterior se eliminaron o se movieron a una ubicación diferente en Amazon S3, la ejecución posterior de las mismas consultas no reutilizará los resultados de las consultas.

  • Se pueden devolver resultados potencialmente obsoletos. Athena no comprueba si hay cambios en los datos de origen hasta que se haya alcanzado la antigüedad máxima de reutilización que usted especifique.

  • Si hay varios resultados disponibles para su reutilización, Athena utiliza el resultado más reciente.

  • Las consultas que utilizan operadores no deterministas o funciones como rand() o shuffle() no utilizan resultados almacenados en caché. Por ejemplo, LIMIT sin ORDER BY no es determinista y no se almacena en caché, pero LIMIT con ORDER BY es determinista y se almacena en caché.

  • La reutilización de los resultados de las consultas se admite en la consola de Athena, en la API de Athena y en el controlador JDBC. Actualmente, la compatibilidad con el controlador ODBC para la reutilización de los resultados de las consultas solo está disponible para Windows.

  • Para utilizar la función de reutilización de resultados de consultas con JDBC, la versión del controlador mínima requerida es la 2.0.34.1000. Para ODBC, la versión del controlador mínima requerida es la 1.1.19.1002. Para obtener información acerca de la descarga de los controladores, consulte Conexión a Amazon Athena con controladores ODBC y JDBC.

  • La reutilización de los resultados de las consultas no se admite en las consultas que utilizan más de un catálogo de datos.

  • La reutilización de los resultados de las consultas no se admite en las consultas que incluyen más de 20 tablas.

Reutilización de los resultados de las consultas en la consola de Athena

Para utilizar la característica , active la opción Reuse query results (Reutilizar los resultados de las consultas) en el editor de consultas de Athena.


                Habilite Reuse query results (Reutilizar los resultados de las consultas) en el editor de consultas de Athena.
Configurar la característica de reutilización de los resultados de las consultas
  1. En el editor de consultas de Athena, en la opción Reuse query results (Reutilizar los resultados de las consultas), seleccione el icono de edición situado junto a up to 60 minutes ago (hace menos de 60 minutos).

  2. En el cuadro de diálogo Edit reuse time (Editar tiempo de reutilización), en el cuadro de la derecha, elija una unidad de tiempo (minutos, horas o días).

  3. En el cuadro de la izquierda, introduzca o elija el número de unidades de tiempo que desee especificar. El tiempo máximo que puede introducir equivale a siete días, independientemente de la unidad de tiempo elegida.

    
                        Configurar la antigüedad máxima para reutilizar los resultados de las consultas.

    El siguiente ejemplo especifica un tiempo de reutilización máximo de dos días.

    
                        La reutilización de los resultados de las consultas está configurada para un máximo de dos días.
  4. Elija Confirm (Confirmar).

    Un banner confirma el cambio de configuración y la opción Reuse query results (Reutilizar los resultados de las consultas) muestra la nueva configuración.

    
                        Nueva configuración de reutilización de los resultados de las consultas en el editor de consultas de Athena.