Consideraciones y limitaciones de los trabajos de mantenimiento
Amazon S3 ofrece operaciones de mantenimiento para mejorar el rendimiento de las tablas o los buckets de tablas de S3. Estas opciones son la compactación de archivos, la administración de instantáneas y la eliminación de archivos sin referencias. A continuación, se indican las limitaciones y consideraciones para estas opciones de administración.
Temas
Consideraciones para la compactación
Las siguientes consideraciones se aplican a la compactación. Para obtener más información sobre la compactación, consulte Mantenimiento de tablas.
-
La compactación solo se admite en los tipos de archivo Apache Parquet, Avro y ORC.
-
La compactación escribe nuevos archivos en formato Apache Parquet de forma predeterminada. Para compactar archivos en formatos Avro o ORC, establezca la propiedad
write.format.default
de la tabla enavro
oorc
. -
La compactación no admite el tipo de datos:
Fixed
. -
La compactación no admite los tipos de compresión
brotli
elz4
. La compactación se produce según un horario automatizado. Si desea evitar los cargos asociados a la compactación, puede desactivarla manualmente para una tabla mediante la operación de la API PutTableMaintenanceConfiguration.
nota
Apache Iceberg utiliza un modelo de simultaneidad optimista junto con la detección de conflictos para arbitrar las transacciones de escritura. Con una simultaneidad optimista, las transacciones de usuario y de compactación pueden entrar en conflicto y provocar el error de las transacciones. Si se producen conflictos, los trabajos de compactación se volverán a intentar en caso de error. Se recomienda que las canalizaciones también utilicen la lógica de reintentos para superar las transacciones que producen un error debido a operaciones conflictivas.
Consideraciones sobre la administración de instantáneas
Las siguientes consideraciones se aplican a la administración de instantáneas. Para obtener más información sobre la administración de instantáneas, consulte Mantenimiento de tablas.
-
Las instantáneas se conservarán solo cuando se cumplan ambos criterios: el número mínimo de instantáneas que se deben conservar y el periodo de retención especificado.
-
La administración de instantáneas elimina los metadatos de las instantáneas caducadas de Apache Iceberg, lo que evita que las consultas sobre las instantáneas caducadas viajen en el tiempo y, de forma opcional, elimina los archivos de datos asociados.
-
La administración de instantáneas no admite los valores de retención que configure como propiedades de la tabla de Iceberg en el archivo
metadata.json
o mediante un comando SQLALTER TABLE SET TBLPROPERTIES
, incluida la retención basada en ramificaciones o etiquetas. La administración de instantáneas se desactiva cuando configura una política de retención basada en ramificaciones o etiquetas, o configura una política de retención en el archivometadata.json
que es más larga que los valores configurados a través de la APIPutTableMaintenanceConfiguration
. En estos casos, S3 no hará caducar ni eliminará instantáneas y tendrá que eliminar manualmente las instantáneas o eliminar las propiedades de la tabla de Iceberg para evitar cargos de almacenamiento.
Consideraciones sobre la eliminación de archivos sin referencias
A continuación, se indican las consideraciones que se aplican a la eliminación de archivos sin referencias. Para obtener más información sobre la eliminación de archivos sin referencias, consulte Mantenimiento de buckets de tablas.
-
La eliminación de archivos sin referencias elimina los archivos de datos y metadatos a los que ya no hacen referencia los metadatos de Iceberg si la fecha de creación es anterior al periodo de retención.
Límites de operaciones de mantenimiento de tablas y buckets de tablas de S3 y API relacionados
Operación de mantenimiento | Propiedad | ¿Configurable en el nivel de bucket de tablas? | ¿Configurable en el nivel de tabla? | Valor predeterminado | Valor mínimo | Rutina de mantenimiento de Iceberg relacionada | Control de la API de tablas de S3 |
---|---|---|---|---|---|---|---|
Compactación | targetFileSizeMB |
No | Sí | 512 MB | 64 MB |
|
PutTableMaintenanceConfiguration |
Administración de instantáneas | minimumSnapshots |
No | Sí | 1 | 1 | ExpireSnapshots retainLast |
PutTableMaintenanceConfiguration |
Administración de instantáneas | maximumSnapshotAge |
No | Sí | 120 horas | 1 hora | ExpireSnapshots expireOlderThan |
PutTableMaintenanceConfiguration |
Eliminación de archivos sin referencias | unreferencedDays |
Sí | No | 3 días | 1 día | deleteOrphanFiles |
PutTableBucketMaintenanceConfiguration |
Eliminación de archivos sin referencias | nonCurrentDays |
Sí | No | 10 días | 1 día | N/A | PutTableBucketMaintenanceConfiguration |
nota
Tablas de S3 aplica el tamaño de grupo de filas predeterminado de parquet de 128 MB.