Activation de l’optimiseur de conservation des instantanés - AWS Glue

Activation de l’optimiseur de conservation des instantanés

Vous pouvez utiliser la console AWS Glue, l’AWS CLI ou l’API AWS pour activer les optimiseurs de conservation des instantanés de vos tables Apache Iceberg dans le catalogue de données. Pour les nouvelles tables, vous pouvez choisir Apache Iceberg comme format de table et activer l’optimiseur de conservation des instantanés lors de la création de la table. La conservation des instantanés est désactivée par défaut pour les nouvelles tables.

Console
Pour activer l’optimiseur de conservation des instantanés
  1. Ouvrez la console AWS Glue à l’adresse https://console.aws.amazon.com/glue/ et connectez-vous en tant qu’administrateur du lac de données, créateur de la table ou utilisateur ayant obtenu les autorisations lakeformation:GetDataAccess et glue:UpdateTable pour la table.

  2. Dans le panneau de navigation, sous Catalogue de données, choisissez Tables.

  3. Sur la page Tables, choisissez une table Iceberg pour laquelle vous souhaitez activer l’optimiseur de conservation des instantanés, puis dans le menu Actions, choisissez Activer sous Optimisation.

    Vous pouvez également activer l’optimisation en sélectionnant la table et en ouvrant la page Détails de la table. Choisissez l’onglet Optimisation des tables dans la partie inférieure de la page, puis sélectionnez Activer la conservation des instantanés.

  4. Sur la page Activer l’optimisation, sous Configuration de l’optimisation, vous avez deux options : Utiliser les paramètres par défaut ou Personnaliser les paramètres. Si vous choisissez d’utiliser les paramètres par défaut, AWS Glue utilise les propriétés définies dans la configuration de tables Iceberg pour déterminer la période de conservation des instantanés et le nombre d’instantanés à conserver. En l’absence de cette configuration, AWS Glue conserve un instantané pendant cinq jours et supprime les fichiers associés aux instantanés expirés.

  5. Choisissez ensuite un rôle IAM qu’AWS Glue peut endosser en votre nom pour exécuter l’optimiseur. Pour en savoir plus sur les autorisations requises pour le rôle IAM, consultez la section Conditions préalables requises pour l’optimisation des tables .

    Suivez les étapes ci-dessous pour mettre à jour un rôle IAM existant :

    1. Pour mettre à jour la stratégie d’autorisation pour le rôle IAM, dans la console IAM, accédez au rôle IAM utilisé pour exécuter le compactage.

    2. Dans la section Ajouter des autorisations, choisissez Créer une stratégie. Dans la fenêtre du navigateur nouvellement ouverte, créez une nouvelle stratégie à utiliser avec votre rôle.

    3. Sur la page Créer une politique, choisissez l’onglet JSON. Copiez le code JSON affiché dans les prérequis dans le champ de l’éditeur de politique.

  6. Si vous préférez définir les valeurs de la configuration de conservation des instantanés manuellement, choisissez Personnaliser les paramètres.

    Page de détails de la table Apache Iceberg avec l’option Activer la conservation > Personnaliser les paramètres.
  7. Cochez la case Appliquer le rôle IAM sélectionné aux optimiseurs sélectionnés pour utiliser un seul rôle IAM pour tout en activant tous les optimiseurs.

  8. Si vous avez des configurations de politique de sécurité dans lesquelles l’optimiseur de table Iceberg doit accéder aux compartiments Amazon S3 à partir d’un cloud privé virtuel (VPC) spécifique, créez une connexion réseau AWS Glue ou utilisez une connexion réseau existante.

    Si aucune connexion VPC AWS Glue n’est déjà configurée, créez-en une en suivant les étapes de la section Creating connections for connectors à l’aide de la console AWS Glue ou de l’AWS CLI/du kit SDK.

  9. Ensuite, sous Configuration de la conservation des instantanés, choisissez d’utiliser les valeurs spécifiées dans la configuration de la table Iceberg ou de spécifier des valeurs personnalisées pour la période de conservation des instantanés (history.expire.max-snapshot-age-ms), le nombre minimum d’instantanés (history.expire.min-snapshots-to-keep) à retenir et le délai en heures entre les exécutions de tâches de suppression d’instantanés consécutives.

  10. Choisissez Supprimer les fichiers associés pour supprimer les fichiers sous-jacents lorsque l’optimiseur de table supprime les anciens instantanés des métadonnées de la table.

    Si vous ne choisissez pas cette option, lorsque les anciens instantanés sont supprimés des métadonnées de la table, les fichiers associés resteront dans le stockage en tant que fichiers orphelins.

  11. Ensuite, lisez la mise en garde, puis choisissez Je confirme pour continuer.

    Note

    Dans le catalogue de données, l’optimiseur de conservation des instantanés respecte le cycle de vie contrôlé par les politiques de conservation au niveau des branches et des balises. Pour plus d’informations, consultez la section Branching and tagging dans la documentation Iceberg.

  12. Examinez la configuration et choisissez Activer l’optimisation.

    Attendez quelques minutes que l’optimiseur de conservation s’exécute et que les anciens instantanés expirent en fonction de la configuration.

AWS CLI

Pour activer la conservation des instantanés pour les nouvelles tables Iceberg dans AWS Glue, vous devez créer un optimiseur de table de type retention et définir le champ enabled sur true dans la table-optimizer-configuration. Vous pouvez procéder à l’aide de la commande AWS CLI create-table-optimizer ou update-table-optimizer. En outre, vous devez spécifier les champs de configuration de conservation tels que snapshotRetentionPeriodInDays et numberOfSnapshotsToRetain en fonction de vos besoins.

L’exemple suivant montre comment activer l’optimiseur de conservation des instantanés. Remplacez l’ID de compte par un ID de compte AWS valide. Remplacez le nom de la base de données et le nom de la table par un nom réel de la table Iceberg et le nom de la base de données. Remplacez le roleArn par l’ARN (Amazon Resource Name) AWS du rôle IAM et le nom du rôle IAM qui dispose des autorisations requises pour exécuter l’optimiseur de conservation des instantanés.

aws glue create-table-optimizer \ --catalog-id 123456789012 \ --database-name iceberg_db \ --table-name iceberg_table \ --table-optimizer-configuration '{"roleArn":"arn:aws:iam::123456789012:role/optimizer_role","enabled":'true', "vpcConfiguration":{ "glueConnectionName":"glue_connection_name"}, "retentionConfiguration":{"icebergConfiguration":{"snapshotRetentionPeriodInDays":7,"numberOfSnapshotsToRetain":3,"cleanExpiredFiles":'true'}}}'\ --type retention

Cette commande crée un optimiseur de conservation pour la table Iceberg spécifiée dans le catalogue, la base de données et la région donnés. La configuration de l’optimiseur de table spécifie l’ARN du rôle IAM à utiliser, active l’optimiseur et définit la configuration de la conservation. Dans cet exemple, il conserve les instantanés pendant sept jours, garde au moins trois instantanés et nettoie les fichiers expirés.

  • snapshotRetentionPeriodInDays : la durée en jours pendant laquelle vous souhaitez conserver l’instantané avant son expiration. La valeur par défaut est 5.

  • numberOfSnapshotsToRetain : le nombre minimum d’instantanés à conserver, même s’ils sont antérieurs à la période de conservation. La valeur par défaut est 1.

  • cleanExpiredFiles : une valeur booléene indiquant s’il faut supprimer les fichiers de données expirés après l’expiration des instantanés. La valeur par défaut est true.

    Lorsque ce paramètre est défini sur true, les anciens instantanés sont supprimés des métadonnées de la table et leurs fichiers sous-jacents sont supprimés. Si ce paramètre est défini sur false, les anciens instantanés sont supprimés des métadonnées de la table, mais leurs fichiers sous-jacents restent dans le stockage en tant que fichiers orphelins..

AWS API

Appelez l’opération CreateTableOptimizer pour activer l’optimiseur de conservation des instantanés pour une table.

Après avoir activé le compactage, l’onglet Optimisation des tables affiche les détails de compactage suivants (après environ 15 à 20 minutes) :

L’heure de début

L’heure à laquelle l’optimiseur de conservation des instantanés a démarré. La valeur est un horodatage selon le fuseau UTC.

Durée de l’exécution

Le temps indique la durée nécessaire à l’optimiseur pour terminer la tâche. La valeur est un horodatage selon le fuseau UTC.

État

L’état d’exécution de l’optimiseur. Les valeurs sont la réussite ou l’échec.

Fichiers de données supprimés

Nombre total de fichiers supprimés.

Fichiers manifestes supprimés

Nombre total de fichiers manifestes supprimés.

Listes de manifestes supprimées

Nombre total de listes de manifestes supprimées.