Consulta de tablas de Amazon S3 con Athena
Amazon Athena es un servicio de consulta interactivo que puede utilizar para analizar datos directamente en Amazon S3 con SQL estándar. Para obtener más información, consulte ¿Qué es Amazon Athena? en la Guía del usuario de Amazon Athena.
Tras integrar los buckets de tablas con los servicios de análisis de AWS, puede ejecutar consultas de lenguaje de definición de datos (DDL), de lenguaje de manipulación de datos (DML) y de lenguaje de consulta de datos (DQL) en tablas de S3 mediante Athena. Para obtener más información acerca de cómo consultar tablas en un bucket de tablas, consulte Registro de catálogos de buckets de tablas de S3 en la Guía del usuario de Amazon Athena.
También puede ejecutar consultas en Athena desde la consola de Amazon S3.
importante
Cuando cree tablas, asegúrese de utilizar todas las letras minúsculas en los nombres y las definiciones de las tablas. Por ejemplo, asegúrese de que los nombres de columna estén todos en minúsculas. Si el nombre o la definición de la tabla contiene letras mayúsculas, significa que la tabla no es compatible con AWS Lake Formation ni AWS Glue Data Catalog. En este caso, la tabla no será visible para servicios de análisis de AWS como Amazon Athena, aunque los buckets de tablas estén integrados con servicios de análisis de AWS.
Si la definición de la tabla contiene mayúsculas, recibirá el siguiente mensaje de error al ejecutar una consulta de SELECT
en Athena: “GENERIC_INTERNAL_ERROR: Error al obtener la solicitud de tabla: com.amazonaws.services.glue.model.ValidationException: Recurso de federación no compatible: nombres de tabla o columna no válidos”
.
El siguiente procedimiento utiliza la consola de Amazon S3 para acceder al editor de consultas de Athena y poder consultar una tabla con Amazon Athena.
nota
Antes de realizar los pasos siguientes, asegúrese de haber integrado los buckets de tablas con los servicios de análisis de AWS de esta región. Para obtener más información, consulte Integración de tablas de Amazon S3 con servicios de análisis de AWS.
Para consultar una tabla:
Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/
. -
En el panel de navegación izquierdo, elija Buckets de tablas.
-
En la página Buckets de tablas, seleccione el bucket que contiene la tabla que desea consultar.
-
En la página de detalles del bucket, elija el botón de opción que aparece junto al nombre de la tabla que desea consultar.
-
Elija Consultar tabla con Athena.
-
Se abre la consola de Amazon Athena y aparece el editor de consultas de Athena con una consulta
SELECT
de ejemplo cargada. Modifique la consulta según proceda para su caso de uso.En el editor de consultas, el campo Catálogo debe rellenarse con s3tablescatalog/ seguido del nombre del bucket de tablas; por ejemplo, s3tablescatalog/
amzn-s3-demo-bucket
. El campo Base de datos debe rellenarse con el espacio de nombres en el que está almacenada la tabla.nota
Si no ve estos valores en los campos Catálogo y Base de datos, asegúrese de haber integrado los buckets de tablas con los servicios de análisis de AWS en esta región. Para obtener más información, consulte Integración de tablas de Amazon S3 con servicios de análisis de AWS.
-
Elija Ejecutar para ejecutar la consulta.
nota
-
Si recibe el error
“Insufficient permissions to execute the query. Principal does not have any privilege on specified resource”
cuando intenta ejecutar una consulta en Athena, se le deberán conceder los permisos necesarios de Lake Formation para la tabla. Para obtener más información, consulte Concesión del permiso de Lake Formation sobre una tabla o base de datos. -
Si recibe el error
“Iceberg cannot access the requested resource”
al intentar ejecutar la consulta, vaya a la consola de AWS Lake Formation y asegúrese de haberse concedido permisos para el espacio de nombres de base de datos y catálogo de buckets de tablas que creó. No especifique una tabla al conceder estos permisos. Para obtener más información, consulte Concesión del permiso de Lake Formation sobre una tabla o base de datos. -
Si recibe el siguiente mensaje de error al ejecutar una consulta
SELECT
en Athena, este mensaje se debe a que hay mayúsculas en el nombre de la tabla o en los nombres de las columnas en la definición de la tabla:“GENERIC_INTERNAL_ERROR: Error al obtener la solicitud de tabla: com.amazonaws.services.glue.model.ValidationException: recurso de federación no compatible; nombres de tabla o columna no válidos”.
Asegúrese de que los nombres de tabla y columna están todos en minúsculas.
-