Considérations et restrictions relatives aux tâches de maintenance
Amazon S3 propose des opérations de maintenance pour améliorer les performances de vos tables ou compartiments de tables S3. Ces options sont le compactage des fichiers, la gestion des instantanés et la suppression des fichiers non référencés. Les restrictions et considérations suivantes se rapportent à ces options de gestion.
Rubriques
Considérations relatives au compactage
Les considérations suivantes se rapportent au compactage. Pour plus d’informations sur le compactage, consultez Maintenance des tables.
-
Le compactage est pris en charge sur les types de fichiers Apache Parquet, Avro et ORC.
-
Le compactage écrit les nouveaux fichiers au format Apache Parquet par défaut. Pour compacter les fichiers aux formats Avro ou ORC à la place, définissez la propriété de la table
write.format.defaultsuravroouorc. -
Le compactage ne prend pas en charge le type de données :
Fixed. -
Le compactage ne prend pas en charge les types de compression :
brotli,lz4. Le compactage s’effectue selon un calendrier automatique. Si vous souhaitez éviter les frais associés au compactage, vous pouvez le désactiver manuellement pour une table à l’aide de l’opération d’API PutTableMaintenanceConfiguration.
Note
Apache Iceberg utilise un modèle de simultanéité optimiste ainsi que la détection des conflits pour arbitrer les transactions d’écriture. Avec une simultanéité optimiste, les transactions effectuées par l’utilisateur et les transactions de compactage peuvent entrer en conflit et entraîner l’échec des transactions. En cas de conflit, les tâches de compactage seront retentées en cas d’échec. Il est recommandé que vos pipelines utilisent également la logique des nouvelles tentatives pour éviter les transactions qui échouent en raison d’opérations en conflit.
Considérations relatives à la gestion des instantanés
Les considérations suivantes se rapportent à la gestion des instantanés. Pour plus d’informations sur la gestion des instantanés, consultez Maintenance des tables.
-
Les instantanés sont conservés seulement lorsque les deux critères suivants sont remplis : le nombre minimum d’instantanés à conserver et la période de conservation spécifiée.
-
La gestion des instantanés supprime les métadonnées des instantanés expirés d’Apache Iceberg, empêchant ainsi les requêtes d’historique d’instantanés expirés et supprimant éventuellement les fichiers de données associés.
-
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.jsonou via une commande SQLALTER 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 fichiermetadata.jsonqui est plus longue que les valeurs configurées via l’APIPutTableMaintenanceConfiguration. 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.
Considérations relatives à la suppression des fichiers non référencés
Les considérations suivantes se rapportent à la suppression des fichiers non référencés. Pour plus d’informations sur la suppression des fichiers non référencés, consultez Maintenance des compartiments de table.
-
La suppression des fichiers non référencés supprime les fichiers de données et de métadonnées qui ne sont plus référencés par les métadonnées Iceberg si leur date de création est antérieure à la période de conservation.
Table S3 et compartiments de table, limites pour les opérations de maintenance et API associées
| Opération de maintenance | Propriété | Configurable au niveau du compartiment de tables ? | Configurable au niveau de la table ? | Valeur par défaut | Valeur minimale | Routine de maintenance Iceberg associée | API de contrôle de S3 Tables |
|---|---|---|---|---|---|---|---|
| Compactage | targetFileSizeMB |
Non | Oui | 512 Mo | 64 Mo | |
PutTableMaintenanceConfiguration |
| Gestion des instantanés | minimumSnapshots |
Non | Oui | 1 | 1 | ExpireSnapshotsretainLast |
PutTableMaintenanceConfiguration |
| Gestion des instantanés | maximumSnapshotAge |
Non | Oui | 120 heures | 1 heure | ExpireSnapshotsexpireOlderThan |
PutTableMaintenanceConfiguration |
| Suppression des fichiers non référencés | unreferencedDays |
Oui | Non | 3 jours | 1 jour | deleteOrphanFiles |
PutTableBucketMaintenanceConfiguration |
| Suppression des fichiers non référencés | nonCurrentDays |
Oui | Non | 10 jours | 1 jour | N/A | PutTableBucketMaintenanceConfiguration |
Note
S3 Tables applique la taille par défaut du groupe de lignes pour les parquets de 128 Mo.