Consulta de los datos de las tablas de Iceberg - Amazon Athena

Consulta de los datos de las tablas de Iceberg

Para consultar un conjunto de datos Iceberg, utilice una instrucción SELECT estándar como la siguiente. Las consultas siguen la especificación del formato v2 de Apache Iceberg y hacen la fusión en lectura tanto de la posición como de los borrados de igualdad.

SELECT * FROM [db_name.]table_name [WHERE predicate]

Para optimizar los tiempos de consulta, todos los predicados se empujan hacia abajo, hacia donde viven los datos.

Para obtener información sobre las consultas de viajes de versión y viajes en el tiempo, consulte Hacer consultas de viaje en el tiempo y de viaje de versión.

Creación y consulta de vistas con tablas de Iceberg

Para crear y consultar vistas de Athena en tablas de Iceberg, utilice las vistas CREATE VIEW tal y como se describe en Trabajo con vistas.

Ejemplo:

CREATE VIEW view1 AS SELECT * FROM iceberg_table
SELECT * FROM view1

Si está interesado en utilizar la especificación de vistas de Iceberg para crear vistas, póngase en contacto con athena-feedback@amazon.com.

Consulta de los metadatos de las tablas de Iceberg

En una consulta SELECT, puede utilizar las siguientes propiedades después de table_name para consultar los metadatos de la tabla de Iceberg:

  • $files: muestra los archivos de datos actuales de una tabla.

  • $manifests: muestra los manifiestos de archivos actuales de una tabla.

  • $history: muestra el historial de una tabla.

  • $partitions: muestra las particiones actuales de una tabla.

  • $snapshots: muestra las instantáneas de una tabla.

  • $refs: muestra las referencias de una tabla.

Ejemplos

En la siguiente instrucción se enumeran los archivos de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$files"

En la siguiente instrucción se enumeran los manifiestos de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$manifests"

En la siguiente instrucción se muestra el historial de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$history"

En el siguiente ejemplo se muestran las particiones de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$partitions"

En el siguiente ejemplo se muestran las instantáneas de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$snapshots"

En el siguiente ejemplo se muestran las referencias de una tabla de Iceberg.

SELECT * FROM "dbname"."tablename$refs"

Uso del control de acceso detallado de Lake Formation

La versión 3 del motor de Athena admite el control de acceso detallado de Lake Formation con tablas de Iceberg, incluido el control de acceso de seguridad de nivel de columna y fila. Este control de acceso funciona con consultas de viajes en el tiempo y con tablas que han realizado la evolución del esquema. Para obtener más información, consulte Control de acceso detallado de Lake Formation y grupos de trabajo de Athena.

Si ha creado su tabla de Iceberg fuera de Athena, utilice la versión 0.13.0 o superior del SDK de Apache Iceberg para que la información de la columna de la tabla de Iceberg aparezca en el AWS Glue Data Catalog. Si la tabla de Iceberg no contiene información sobre columnas en AWS Glue, puede utilizar la instrucción ALTER TABLE SET PROPERTIES de Athena o el último SDK de Iceberg para corregir la tabla y actualizar la información de la columna en AWS Glue.