View a markdown version of this page

Considérations et restrictions - AWS Glue

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.

Considérations et restrictions

Cette section inclut les éléments à prendre en compte lors de l’utilisation d’optimiseurs de tables dans AWS Glue Data Catalog.

Durabilité et exactitude

Emplacements des tables S3 :

Lorsque plusieurs AWS Glue Data Catalog tables partagent le même emplacement Amazon S3 et que les optimiseurs sont activés, l'optimiseur de rétention des instantanés ou de suppression de fichiers orphelins pour une table peut supprimer les fichiers qui sont toujours référencés par l'autre table. Assurez-vous que chaque table pour laquelle les optimiseurs sont activés possède un emplacement Amazon S3 unique qui n'est partagé avec aucune autre table, y compris les tables de différentes bases de données.

Expiration du cycle de vie S3 :

Les règles d'expiration du cycle de vie Amazon S3 qui s'appliquent aux emplacements de stockage des tables Iceberg peuvent supprimer les fichiers manifestes et de données qui sont toujours référencés par les instantanés actifs. Si votre bucket comporte des règles d'expiration du cycle de vie, assurez-vous qu'elles excluent le chemin de stockage de la table Iceberg.

Commissions différées :

Des validations différées peuvent survenir dans les pipelines de streaming à haut débit. Configurez orphanFileRetentionPeriodInDays pour dépasser le délai maximum prévu entre la création du fichier et la fin de la validation, y compris les délais de traitement et les nouvelles tentatives de validation.

L'optimiseur de suppression de fichiers orphelins utilise les métadonnées de la table Iceberg qui sont disponibles lors de son exécution. Si un fichier atteint la limite d'âge configurée avant que la validation ne l'ajoute aux métadonnées de la table Iceberg, l'optimiseur peut identifier le fichier en tant que fichier orphelin et le supprimer.

Une validation ultérieure peut ensuite ajouter le fichier supprimé aux métadonnées de la table Iceberg. Cela peut entraîner l'échec des requêtes et des exécutions de l'optimiseur de tables.

Problèmes connus

La documentation sur les optimiseurs de Catalog-level tables indique que « les tables sans leur propre configuration d'optimiseur hériteront de l'état désactivé au niveau du catalogue ». Il existe un problème connu selon lequel certaines tables ne disposant pas de leur propre configuration d'optimiseur peuvent ne pas hériter correctement de l'état désactivé de la configuration au niveau du catalogue. Utilisez les journaux d'exécution de la AWS Glue console et de l'optimiseur pour vérifier quels optimiseurs sont actuellement activés et en cours d'exécution sur votre compte, et désactivez ceux dont vous n'avez pas besoin.

Formats pris en charge et restrictions pour le compactage de données géré

Le compactage des données prend en charge divers types de fichiers et formats de compression pour la lecture et l’écriture de données, y compris la lecture de données provenant de tables chiffrées.

Contrôle de la simultanéité :

Apache Iceberg permet un contrôle de simultanéité optimiste, permettant à plusieurs rédacteurs d'effectuer des opérations simultanément. Les conflits sont détectés et résolus au moment de la validation. Lorsque vous travaillez avec des pipelines de streaming, configurez les paramètres de nouvelle tentative appropriés via les propriétés des tables et les paramètres de compactage afin de gérer efficacement les écritures simultanées. Pour obtenir des conseils détaillés, consultez le blog AWS Big Data sur la gestion des écritures simultanées dans les tables Iceberg.

Reprises de compactage :

Lorsque les opérations de compactage échouent quatre fois de suite, l'optimisation des tables de AWS Glue catalogue suspend automatiquement l'optimiseur pour éviter une consommation inutile de ressources de calcul. Examinez d'abord les journaux et essayez de comprendre pourquoi le compactage échoue à plusieurs reprises. Pour reprendre l'optimisation du compactage, vous pouvez réactiver l'optimiseur via la AWS Glue console ou l'API.

Le compactage des données prend en charge :

  • Chiffrement  : le compactage des données ne prend en charge que le chiffrement par défaut d'Amazon S3 (SSE-S3) et le chiffrement KMS côté serveur (). SSE-KMS

  • Stratégies de compactage  : emballage, tri et tri Z-order

  • Vous pouvez exécuter le compactage depuis le compte où réside le catalogue de données lorsque le compartiment Amazon S3 qui stocke les données sous-jacentes se trouve dans un autre compte. Pour ce faire, le rôle de compactage nécessite l’accès au compartiment Amazon S3.

Le compactage des données ne prend pas en charge actuellement :

  • Compactage sur des tables entre comptes : vous ne pouvez pas exécuter le compactage sur des tables entre comptes.

  • Compactage sur des tables entre régions : vous ne pouvez pas exécuter le compactage sur des tables entre régions.

  • Activation du compactage sur des liens de ressources

  • Tableaux de la classe de stockage Amazon S3 Express One Zone — Vous ne pouvez pas exécuter le compactage sur les tables Amazon S3 Express One Zone Iceberg.

  • Z-order la stratégie de compaction ne prend pas en charge les types de données suivants :

    • Décimal

    • TimestampWithoutZone

Considérations relatives à la conservation des instantanés et aux optimiseurs de suppression de fichiers orphelins

Les considérations suivantes s’appliquent à la conservation des instantanés et aux optimiseurs de suppression des fichiers orphelins.

  • Les processus de conservation des instantanés et de suppression de fichiers orphelins ont une limite maximale de suppression de 1 000 000 fichiers par exécution. Lorsque vous supprimez des instantanés expirés, si le nombre de fichiers éligibles à la suppression dépasse 1 000 000, tous les fichiers restants au-delà de ce seuil continueront d’exister dans le stockage de la table en tant que fichiers orphelins.

  • Les instantanés sont conservés par l’optimiseur de conservation d’instantané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.

  • L’optimiseur de conservation d’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.

  • L’optimiseur de suppression des fichiers orphelins 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 des fichiers orphelins à compter de l’exécution de l’optimiseur.

  • Apache Iceberg facilite le contrôle des versions grâce à des branches et des balises, qui sont des pointeurs nommés vers des états d’instantanés spécifiques. Chaque branche et balise suit son propre cycle de vie indépendant, régi par des politiques de conservation définies à leurs niveaux respectifs. Les AWS Glue Data Catalog optimiseurs tiennent compte de ces politiques de cycle de vie, garantissant ainsi le respect des règles de conservation spécifiées. Les politiques de conservation au niveau des branches et des balises ont priorité sur les configurations de l’optimiseur.

    Pour plus d’informations, consultez Branching and Tagging dans la documentation Apache Iceberg.

  • Les optimiseurs de conservation des instantanés et de suppression de fichiers orphelins supprimeront les fichiers éligibles au nettoyage conformément aux paramètres configurés. Améliorez votre contrôle sur la suppression de fichiers en mettant en œuvre des politiques de gestion des versions et de cycle de vie S3 sur les compartiments appropriés.

    Pour obtenir des instructions détaillées sur la configuration de la gestion des versions et la création de règles de cycle de vie, consultez https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html.

  • Pour déterminer correctement les fichiers orphelins, assurez-vous que l’emplacement de la table fourni et les éventuels sous-chemins ne se chevauchent pas ou ne contiennent pas de données provenant d’autres tables ou sources de données. Si les chemins se chevauchent, vous risquez une perte de données irrécupérable en cas de suppression involontaire de fichiers.

Important

orphanFileRetentionPeriodInDayss'applique uniquement à l'optimiseur de suppression de fichiers orphelins. L'optimiseur de conservation des instantanés n'utilise pas cette valeur et n'évalue pas l'âge des fichiers dans Amazon S3.

Lorsque cleanExpiredFiles c'est true le cas, les fichiers qui ne sont plus référencés par aucun instantané conservé sont supprimés dans le cadre de l'expiration du snapshot. Configurez snapshotRetentionPeriodInDays et numberOfSnapshotsToRetain en fonction de vos exigences en matière de voyage dans le temps et de restauration.

Exception de débogage OversizedAllocationException

Pour résoudre une exception OversizedAllocationException :

  • Réduisez la taille du lot du lecteur vectorisé et vérifiez. La taille du lot par défaut est de 5 000. Ceci est contrôlé dans read.parquet.vectorization.batch-size.

    • Si cela ne fonctionne pas même après plusieurs variations, désactivez la vectorisation. Ceci est contrôlé dans read.parquet.vectorization.enabled.