Mantenimiento de Tablas de S3
Tablas de S3 ofrece operaciones de mantenimiento para mejorar la administración y el rendimiento de la tabla. Las siguientes opciones están habilitadas de forma predeterminada para todas las tablas. Puede editarlas o desactivarlas si especifica archivos de configuración de mantenimiento para la tabla de S3.
La edición de esta configuración requiere los permisos s3tables:GetTableMaintenanceConfiguration
y s3tables:PutTableMaintenanceConfiguration
.
Compactación
La compactación combina objetos más pequeños en menos objetos más grandes para mejorar el rendimiento de las consultas de Iceberg. Al combinar objetos, la compactación también aplica los efectos de eliminar filas en la tabla. Amazon S3 compacta tablas en función de un tamaño de archivo de destino óptimo para el patrón de acceso a datos o de un valor que se especifique. Los archivos compactados se escriben como la instantánea más reciente de la tabla. La compactación está activada de forma predeterminada para todas las tablas, con un tamaño de archivo de destino predeterminado de 512 MB.
nota
La compactación solo se admite en los tipos de archivo Apache Parquet.
Solo puede configurar la compactación en el nivel de tabla. La compactación generará costos adicionales. Para obtener más información, consulte la información de precios en los precios de Amazon S3
- Configuración del tamaño de archivo de destino de compactación con la AWS CLI
-
El siguiente ejemplo cambiará el tamaño de archivo de destino a 256 MB con la API
PutTableMaintenanceConfiguration
.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-bucket1
\ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --value='{"status":"enabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'Para obtener más información, consulte put-table-maintenance-configuration
en la Referencia de los comandos de AWS CLI. - Desactivación de la compactación mediante la AWS CLI
-
El siguiente ejemplo desactivará la compactación mediante la API
PutTableMaintenanceConfiguration
.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --type icebergCompaction \ --namespacemynamespace
\ --nametesttable
\ --value='{"status":"disabled","settings":{"icebergCompaction":{"targetFileSizeMB":256}}}'Para obtener más información, consulte put-table-maintenance-configuration
en la Referencia de los comandos de AWS CLI.
Administración de instantáneas
La administración de instantáneas determina el número de instantáneas activas para la tabla. Esto se basa en MinimumSnapshots
(1 de forma predeterminada) y MaximumSnapshotAge
(120 horas de forma predeterminada). La administración de instantáneas hace caducar y elimina las instantáneas de la tabla en función de estas configuraciones.
Cuando caduca una instantánea, Amazon S3 marca como no actuales todos los objetos a los que solo hace referencia esa instantánea. Estos objetos no actuales se eliminan después del número de días especificado por la propiedad NoncurrentDays
en la política de eliminación de archivos sin referencias.
nota
Las eliminaciones de objetos no actuales son permanentes y no hay forma de recuperarlos.
Para ver o recuperar objetos que se han marcado como no actuales, debe ponerse en contacto con AWS Support. Para obtener más información sobre cómo contactar con AWS Support, consulte Contacte con AWS
La administración de instantáneas determina los objetos que se eliminarán de la tabla con referencia solo a esa tabla. Cualquier referencia hecha a estos objetos fuera de la tabla no evitará que con la administración de instantáneas se elimine un objeto.
nota
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 SQL ALTER 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 archivo metadata.json
que es más larga que los valores configurados a través de la API PutTableMaintenanceConfiguration
. 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.
Solo puede configurar la administración de instantáneas en el nivel de tabla. Para obtener más información, consulte la información de precios en los precios de Amazon S3
- Configuración de la administración de instantáneas con la AWS CLI
-
En el siguiente ejemplo se establecerá
MinimumSnapshots
en 10 yMaximumSnapshotAge
en 2500 horas mediante la APIPutTableMaintenanceConfiguration
.aws s3tables put-table-maintenance-configuration \ --table-bucket-arn arn:aws:s3tables:
us-east-1
:111122223333
:bucket/amzn-s3-demo-table-bucket \ --namespacemy_namespace
\ --namemy_table
\ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'
Para obtener más información, consulte put-table-maintenance-configuration
Consideraciones y limitaciones
Para obtener más información sobre consideraciones y límites adicionales con respecto a la compactación y la administración de instantáneas, consulte Consideraciones y limitaciones de los trabajos de mantenimiento.
nota
Tablas de S3 aplica el tamaño de grupo de filas predeterminado de parquet de 128 MB.