Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Entretien des tables
S3 Tables propose des opérations de maintenance pour améliorer la gestion et les performances de vos tables individuelles. Les options suivantes sont activées par défaut pour toutes les tables contenues dans des compartiments de tables. Vous pouvez modifier ou désactiver ces options en spécifiant des fichiers de configuration de maintenance pour votre table S3.
La modification de cette configuration nécessite les autorisations s3tables:GetTableMaintenanceConfiguration
et s3tables:PutTableMaintenanceConfiguration
.
Compactage
Le compactage est configuré au niveau de la table et combine plusieurs petits objets en objets moins nombreux et plus grands afin d'améliorer les performances des Apache Iceberg requêtes. Lorsque vous combinez des objets, le compactage applique également les effets des suppressions au niveau des lignes dans votre tableau.
Le compactage est activé par défaut pour toutes les tables, avec une taille de fichier cible par défaut de 512 Mo ou une valeur personnalisée que vous spécifiez entre 64 Mo et 512 Mo. Les fichiers compactés sont écrits sous la forme de l’instantané le plus récent de votre table.
Stratégies de compactage
Vous pouvez choisir parmi plusieurs stratégies de compactage susceptibles d'améliorer encore les performances des requêtes en fonction de vos modèles de requêtes et de l'ordre de tri des tables.
S3 Tables prend en charge les stratégies de compactage suivantes pour les tables :
-
Auto (par défaut)
-
Amazon S3 sélectionne la meilleure stratégie de compactage en fonction de l'ordre de tri de votre table. Il s'agit de la stratégie de compactage par défaut pour toutes les tables.
-
Pour les tables dont l'ordre de tri est défini dans leurs métadonnées, le
sort
compactageauto
sera automatiquement appliqué. -
Pour les tables sans ordre de tri, le
binpack
compactageauto
sera utilisé par défaut.
-
-
Sac à poubelles
-
Combine de petits fichiers en fichiers plus volumineux, en ciblant généralement des tailles supérieures à 100 Mo, tout en appliquant les suppressions en attente. Il s'agit de la stratégie de compactage par défaut pour les tables non triées.
-
-
Tri
-
Organise les données en fonction de colonnes spécifiées qui sont triées automatiquement par hiérarchie lors du compactage, améliorant ainsi les performances des requêtes pour les opérations filtrées. Cette stratégie est recommandée lorsque vos requêtes filtrent fréquemment sur des colonnes spécifiques. Lorsque vous utilisez cette stratégie, S3 Tables applique automatiquement un tri hiérarchique aux colonnes lorsque a
sort_order
est défini dans les propriétés de la table.
-
-
Ordre Z
-
Optimise l'organisation des données en fusionnant plusieurs attributs en une seule valeur scalaire qui peut être utilisée pour le tri, ce qui permet d'effectuer des requêtes efficaces sur plusieurs dimensions. Cette stratégie est recommandée lorsque vous devez interroger des données sur plusieurs dimensions simultanément. Cette stratégie vous oblige à définir un ordre de tri dans les propriétés de votre table Iceberg à l'aide de la propriété
sort_order
table.
-
Le compactage entraînera des coûts supplémentaires. Pour plus d’informations, consultez les informations de tarification dans Tarification Amazon S3
Exemples de compactage
Les exemples suivants présentent des configurations pour le compactage des tables.
- Pour configurer la taille du fichier cible de compactage à l'aide du AWS CLI
-
La taille minimale du fichier de compactage cible est de 64 Mo ; la taille maximale est de 512 Mo.
L’exemple suivant modifie la taille du fichier cible en la définissant sur 256 Mo à l’aide de l’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}}}'Pour plus d’informations, consultez put-table-maintenance-configuration
dans la Référence des commandes de l’AWS CLI . - Pour configurer la stratégie de compactage à l'aide du AWS CLI
-
L'exemple suivant modifiera la stratégie de compactage en
sort
utilisant l'PutTableMaintenanceConfiguration
API. Lorsque vous définissez le compactage, vous pouvez choisir l'une des stratégies de compactage suivantes :auto
,binpack
, ousort
z-order
Note
Pour définir la stratégie de compactage sur
sort
ouz-order
vous devez remplir les conditions préalables suivantes :Ordre de tri défini dans les propriétés de votre Iceberg table.
L'
s3tables:GetTableData
autorisation.
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":"enabled","settings":{"icebergCompaction":{"strategy":"sort"}}}'Pour plus d’informations, consultez put-table-maintenance-configuration
dans la Référence des commandes de l’AWS CLI . - Pour désactiver le compactage à l'aide du AWS CLI
-
L’exemple suivant permet de désactiver le compactage à l’aide de l’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}}}'Pour plus d’informations, consultez put-table-maintenance-configuration
dans la Référence des commandes de l’AWS CLI .
Gestion des instantanés
La gestion des instantanés détermine le nombre d’instantanés actifs pour votre table. Ceci est basé sur les paramètres MinimumSnapshots
(1 par défaut) et MaximumSnapshotAge
(120 heures par défaut). La gestion des instantanés expire et supprime les instantanés de table en fonction de ces configurations.
Lorsqu’un instantané expire, Amazon S3 marque tous les objets référencés uniquement par cet instantané comme non actuels. Ces objets non actuels sont supprimés après le nombre de jours spécifié par la propriété NoncurrentDays
dans votre politique de suppression des fichiers non référencés.
Note
Les suppressions des objets non actuels sont permanentes et il n’est pas possible de récupérer ces objets.
Pour consulter ou récupérer des objets marqués comme non actuels, vous devez contacter AWS Support. Pour plus d'informations sur la prise de contact AWS Support, consultez la section Contact AWS
La gestion des instantanés détermine les objets à supprimer de votre tableau en faisant uniquement référence à ce tableau. Les références à ces objets depuis l'extérieur du tableau n'empêcheront pas la gestion des snapshots de les supprimer.
Note
La gestion des instantanés ne prend pas en charge les valeurs de conservation que vous configurez en tant que propriétés de table Iceberg dans le fichier metadata.json
ou via une commande SQL ALTER TABLE SET TBLPROPERTIES
, y compris la conservation basée sur les branches ou les balises. La gestion des instantanés est désactivée lorsque vous configurez une politique de conservation basée sur les branches ou les balises, ou lorsque vous configurez une politique de conservation sur le fichier metadata.json
qui est plus longue que les valeurs configurées via l’API PutTableMaintenanceConfiguration
. Dans ces cas, S3 n’expire pas et ne supprime pas les instantanés, et vous devez supprimer manuellement les instantanés ou supprimer les propriétés de votre table Iceberg pour éviter les frais de stockage.
Vous pouvez uniquement configurer la gestion des instantanés au niveau de la table. Pour plus d’informations, consultez les informations de tarification dans Tarification Amazon S3
Exemples de gestion des snapshots
Les exemples suivants présentent des configurations pour la gestion des instantanés de table.
- Pour configurer la gestion des snapshots à l'aide du AWS CLI
-
L’exemple suivant définit le paramètre
MinimumSnapshots
sur 10 et le paramètreMaximumSnapshotAge
sur 2 500 heures à l’aide de l’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}}}' - Pour désactiver la gestion des snapshots à l'aide du AWS CLI
-
L'exemple suivant désactivera la gestion des snapshots à l'aide de l'
PutTableMaintenanceConfiguration
API.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":"disabled","settings":{"icebergSnapshotManagement":{"minSnapshotsToKeep":1,"maxSnapshotAgeHours":120}}}'
Pour plus d’informations, consultez put-table-maintenance-configuration
Considérations et restrictions
Pour en savoir plus sur les considérations et les restrictions supplémentaires relatives au compactage et à la gestion des instantanés, consultez Considérations et restrictions relatives aux tâches de maintenance.
Note
S3 Tables applique la row-group-default taille des parquets de 128 Mo.