Consulta de las tablas de Linux Foundation Delta Lake
Linux Foundation Delta LakeMSCK REPAIR
.
El formato de Delta Lake almacena los valores mínimo y máximo por columna de cada archivo de datos. La implementación de Athena utiliza esta información para permitir omitir archivos en los predicados a fin de evitar que se tengan en cuenta los archivos no deseados.
Consideraciones y limitaciones
La compatibilidad de Delta Lake Athena tiene las siguientes consideraciones y limitaciones:
-
Solo tablas con catálogo de AWS Glue: la compatibilidad nativa de Delta Lake solo se admite a través de tablas registradas con AWS Glue. Si tiene una tabla de Delta Lake registrada en otro metaalmacén, puede conservarla y tratarla como su metaalmacén principal. Como los metadatos de Delta Lake se almacenan en el sistema de archivos (por ejemplo, en Amazon S3) y no en el metaalmacén, Athena solo requiere la propiedad de ubicación de AWS Glue para leer las tablas de Delta Lake.
-
Solo motor V3: las consultas de Delta Lake solo se admiten en la versión 3 del motor Athena. Debe asegurarse de que el grupo de trabajo que cree esté configurado para utilizar la versión 3 del motor Athena.
-
No hay compatibilidad con viajes en el tiempo: no hay compatibilidad con consultas que utilicen las capacidades de viaje en el tiempo de Delta Lake.
-
Solo lectura: las instrucciones DML de escritura como
UPDATE
,INSERT
oDELETE
no se admiten. -
Soporte de Lake Formation: la integración de Lake Formation se encuentra disponible para las tablas de Delta Lake con su esquema sincronizado con AWS Glue. A fin de obtener más información, consulte Uso de AWS Lake Formation con Amazon Athena y Configuración de permisos para una tabla de Delta Lake en la Guía para desarrolladores de AWS Lake Formation.
-
Compatibilidad con DDL limitada: se admiten las siguientes instrucciones DDL:
CREATE EXTERNAL TABLE
,SHOW COLUMNS
,SHOW TBLPROPERTIES
,SHOW PARTITIONS
,SHOW CREATE TABLE
yDESCRIBE
. Para obtener información sobre el uso de la instrucciónCREATE EXTERNAL TABLE
, consulte la sección Introducción. -
No se admite la omisión de objetos de S3 Glacier: si los objetos de la tabla de Linux Foundation Delta Lake se encuentran en una clase de almacenamiento de Amazon S3 Glacier, establecer la propiedad de la tabla
read_restored_glacier_objects
enfalse
no tendrá ningún efecto.Suponga, por ejemplo, que ejecuta el siguiente comando:
ALTER TABLE
table_name
SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')En el caso de las tablas de Iceberg y Delta Lake, el comando produce el error
Clave de propiedad de tabla no compatible: read_restored_glacier_objects
. En el caso de las tablas de Hudi, el comandoALTER TABLE
no produce ningún error, pero los objetos de Amazon S3 Glacier siguen sin omitirse. Al ejecutar consultasSELECT
después del comandoALTER TABLE
, se siguen devolviendo todos los objetos.
Control de versiones de Delta Lake y Athena
Athena no utiliza el control de versiones
-
Versión de lectura: todas las tablas de Delta Lake tienen una versión de lectura. En la actualidad, es un número comprendido entre 1 y 3. Las consultas que incluyan una tabla con una versión de lectura que Athena no admita fallarán.
-
Características de la tabla: todas las tablas de Delta Lake también pueden declarar un conjunto de funciones de lectura y escritura. Como la compatibilidad de Athena con Delta Lake es de solo lectura, no se aplica la compatibilidad de las características de escritura de las tablas. Sin embargo, fallarán las consultas en tablas con características de lector de tablas no compatibles.
En la siguiente tabla, se muestran las versiones del lector de Delta Lake y las características del lector de tablas de Delta Lake compatibles con Athena.
Tipo de consulta | Versiones de lector compatibles | Características de lector compatibles |
---|---|---|
DQL (instrucciones SELECT) | <= 3 | Asignación de columnas |
DDL | <= 1 | No se usa. Las características del lector solo se pueden declarar en tablas con una versión de lector de 2 o superior. |
-
Para obtener una lista de las características de las tablas de Delta Lake, consulte Nombres válidos de las características de las tablas
en GitHub.com. -
Para ver una lista de las características de Delta Lake por versión de protocolo, consulte Características por versión de protocolo
en GitHub.com.
Para crear una tabla de Delta Lake en Athena con una versión de lector superior a 1, consulte Sincronización de metadatos de Delta Lake.