Optimización de las tablas de Iceberg
A medida que los datos se acumulan en una tabla de Iceberg, las consultas se vuelven gradualmente menos eficientes debido al aumento del tiempo de procesamiento necesario para abrir los archivos. Se incurre en un costo computacional adicional si la tabla contiene archivos de eliminación
Para optimizar el rendimiento de las consultas en las tablas de Iceberg, Athena admite la compactación manual como comando de mantenimiento de la tabla. Las compactaciones optimizan la disposición estructural de la tabla sin alterar su contenido.
OPTIMIZE
La acción de compactación OPTIMIZE
reescribe los archivos de datos en una disposición más optimizada en función de su tamaño y del número de archivos de eliminación asociados. Para obtener detalles sobre la sintaxis y las propiedades de la tabla, consulte OPTIMIZE.table
REWRITE DATA
Ejemplo
El siguiente ejemplo fusiona archivos de borrado en archivos de datos y produce archivos cercanos al tamaño de archivo objetivo cuando el valor de category
es c1
.
OPTIMIZE iceberg_table REWRITE DATA USING BIN_PACK WHERE category = 'c1'
VACUUM
VACUUM
lleva a cabo el vencimiento de las instantáneas
Ejemplo
En el siguiente ejemplo, se usa una propiedad de tabla para configurar la tabla iceberg_table
de manera que retenga los datos de los últimos tres días y, a continuación, VACUUM
se usa para hacer vencer las instantáneas antiguas y eliminar los archivos huérfanos de la tabla.
ALTER TABLE iceberg_table SET TBLPROPERTIES ( 'vacuum_max_snapshot_age_seconds'='259200' ) VACUUM iceberg_table