Uso de tablas de Apache Iceberg
Athena admite consultas de lectura, viaje en el tiempo, escritura y DDL para tablas de Apache Iceberg que utilizan el formato Apache Parquet para los datos y el catálogo de AWS Glue para su almacén de metadatos.
Apache Iceberg
Para más información sobre Apache Iceberg, consulte https://iceberg.apache.org/
Consideraciones y limitaciones
La compatibilidad de Athena con las tablas de Iceberg tiene las siguientes limitaciones:
-
Tablas de AWS Glue Catalog únicamente: solo las tablas de Iceberg creadas con AWS Glue Catalog basado en las especificaciones definidas por la implementación de Glue Catalog de código abierto
son compatibles con Athena. -
Soporte de bloqueo de tablas de AWS Glue únicamente: a diferencia de la implementación del catálogo Glue de código abierto, que admite el bloqueo personalizado de complementos, Athena admite el bloqueo optimista de AWS Glue únicamente. El uso de Athena para modificar una tabla de Iceberg con cualquier otra implementación de bloqueo provocará posibles pérdidas de datos y la interrupción de transacciones.
-
Formatos de archivo compatibles: la compatibilidad con el formato de archivo Iceberg en Athena depende de la versión del motor de Athena, como se muestra en la siguiente tabla.
Versión del motor Athena Parquet ORC Avro 2 Sí No No 3 Sí Sí Sí -
Tablas Iceberg v2: Athena solo crea y opera con tablas de Iceberg v2. Para ver la diferencia entre las tablas v1 y v2, consulte Format version changes
(Cambios de versión de formato) en la documentación de Apache Iceberg. -
Visualización de tipos de hora sin zona horaria: la hora y la marca de tiempo sin tipos de zona horaria se muestran en UTC. Si la zona horaria no se especifica en una expresión de filtro en una columna de hora, se usa UTC.
-
Precisión de los datos relacionados con la marca de tiempo: si bien Iceberg admite una precisión de microsegundos para el tipo de datos de marca de tiempo, Athena solo admite una precisión de milisegundos para las marcas de tiempo tanto en las lecturas como en las escrituras. En el caso de los datos en las columnas relacionadas con la hora que se reescriben durante las operaciones de compactación manual, Athena solo retiene la precisión en milisegundos.
-
Operaciones no admitidas: las siguientes operaciones de Athena no se admiten para las tablas de Iceberg.
-
Vistas: se utiliza
CREATE VIEW
para crear vistas de Athena como se describe en Uso de vistas. Si está interesado en utilizar la especificación de vistas de Icebergpara crear vistas, póngase en contacto con athena-feedback@amazon.com . -
Comandos de administración de TTF no compatibles en AWS Lake Formation: si bien puede utilizar Lake Formation a fin de administrar los permisos de acceso de lectura para los formatos de tabla de transacciones (TTF) como Apache Iceberg, Apache Hudi y Linux Foundation Delta Lake, no puede utilizar Lake Formation a fin de administrar los permisos de operaciones como
VACUUM
,MERGE
,UPDATE
oOPTIMIZE
con estos formatos de tabla. Para obtener más información sobre la integración de Lake Formation con Athena, consulte Uso de AWS Lake Formation con Amazon Athena en la Guía para desarrolladores de AWS Lake Formation. -
Partición por campos anidados: no se admite la partición por campos anidados. Si lo intenta, aparecerá el mensaje
NOT_SUPPORTED: No se admite la partición por campos anidados:
column_name
.nested_field_name
. -
No se admite la omisión de objetos de S3 Glacier: si los objetos de la tabla de Apache Iceberg 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.
Si desea que Athena admita una característica en particular, envíe sus comentarios a athena-feedback@amazon.com
Temas
- Creación de tablas de Iceberg
- Administración de tablas de Iceberg
- Consulta de los metadatos de la tabla de Iceberg
- Esquema de tabla de Iceberg en evolución
- Consulta de tablas de Iceberg y realización de viajes en el tiempo
- Actualización de los datos de las tablas de Iceberg
- Optimización de las tablas de Iceberg
- Tipos de datos compatibles con las tablas de Iceberg en Athena
- Otras operaciones de Athena en tablas de Iceberg
- Recursos adicionales de