Mantenimiento de Tablas de S3 - Amazon Simple Storage Service

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 \ --namespace mynamespace \ --name testtable \ --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 \ --namespace mynamespace \ --name testtable \ --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 o la Documentación de AWS Support.

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 y MaximumSnapshotAge en 2500 horas 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 \ --namespace my_namespace \ --name my_table \ --type icebergSnapshotManagement \ --value '{"status":"enabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":10,"maxSnapshotAgeHours":2500}}}'

Para obtener más información, consulte put-table-maintenance-configuration en la Referencia de los comandos de AWS CLI.

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.