

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.

# Suppression des fichiers orphelins
<a name="orphan-file-deletion"></a>

 AWS Glue Data Catalog vous permet de supprimer les fichiers orphelins de vos tables Iceberg. Les fichiers orphelins sont des fichiers non référencés qui existent dans votre source de données Amazon S3 à l’emplacement de la table spécifié, qui ne sont pas suivis par les métadonnées de la table Iceberg et qui sont plus anciens que la limite d’âge que vous avez configurée. Ces fichiers orphelins peuvent s’accumuler au fil du temps en cas d’échec d’opérations telles que le compactage, la suppression de partitions ou la réécriture de tables, et occuper un espace de stockage inutile.

L'optimiseur de suppression des fichiers orphelins AWS Glue analyse les métadonnées de la table et les fichiers de données réels, identifie les fichiers orphelins et les supprime pour récupérer de l'espace de stockage. L’optimiseur supprime uniquement les fichiers créés après la date de création de l’optimiseur qui répondent également aux critères de suppression configurés. Les fichiers créés avant ou à la date de création de l’optimiseur ne sont jamais supprimés.

**Logique de suppression de fichiers orphelins**

1. Vérification de la date : compare la date de création du fichier avec la date de création de l’optimiseur. Si le fichier est antérieur ou égal à la date de création de l’optimiseur, il est ignoré.

1. Vérification de la configuration de l’optimiseur : si le fichier est plus récent que la date de création de l’optimiseur, il évalue le fichier par rapport à la limite d’âge configurée. L’optimiseur supprime le fichier s’il répond aux critères de suppression. Ignore le fichier s’il ne correspond pas aux critères.

 Vous pouvez initier la suppression des fichiers orphelins en créant un optimiseur de table de suppression de fichiers orphelins dans le catalogue de données.

**Important**  
 Par défaut, la suppression des fichiers orphelins évalue les fichiers situés à l'emplacement de votre AWS Glue table. Bien que vous puissiez configurer un sous-préfixe pour limiter la portée de l’évaluation à l’aide d’un paramètre d’API, vous devez vous assurer que l’emplacement de votre table ne contient pas de fichiers provenant d’autres sources de données ou tables. Si l’emplacement de votre table chevauche celui d’autres sources de données, le service peut identifier et supprimer des fichiers non liés en tant qu’orphelins. 

**Topics**
+ [Activation de la suppression des fichiers orphelins](enable-orphan-file-deletion.md)
+ [Mise à jour de l’optimiseur de suppression de fichiers orphelins](update-orphan-file-deletion.md)
+ [Désactivation de la suppression des fichiers orphelins](disable-orphan-file-deletion.md)

# Activation de la suppression des fichiers orphelins
<a name="enable-orphan-file-deletion"></a>

 Vous pouvez utiliser AWS Glue la console ou l' AWS API pour activer la suppression des fichiers orphelins pour vos tables Apache Iceberg dans le catalogue de données. AWS CLI Pour les nouvelles tables, vous pouvez choisir Apache Iceberg comme format de table et activer l’optimiseur de suppression de fichiers orphelins 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 la suppression des fichiers orphelins**

1.  Ouvrez la AWS Glue console [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)et connectez-vous en tant qu'administrateur du lac de données, créateur de table ou utilisateur ayant obtenu les `lakeformation:GetDataAccess` autorisations `glue:UpdateTable` et sur la table. 

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

1. Sur la page **Tables**, choisissez une table Iceberg dans laquelle vous souhaitez activer la suppression des fichiers orphelins.

   Choisissez l’onglet **Optimisation des tables** dans la partie inférieure de la page, puis sélectionnez **Activer**, **Suppression des fichiers orphelins** dans **Actions**. 

   Vous pouvez également choisir **Activer** sous **Optimisation** dans le menu **Actions** situé dans le coin supérieur droit de la page.

1. Sur la page **Activer l’optimisation**, sélectionnez **Suppression des fichiers orphelins** sous **Options d’optimisation**.

1. Si vous choisissez d’utiliser les **paramètres par défaut**, tous les fichiers orphelins seront supprimés au bout de trois jours. Si vous souhaitez conserver les fichiers orphelins pendant un certain nombre de jours, choisissez **Personnaliser les paramètres**.

1. Choisissez ensuite un rôle IAM avec les autorisations requises pour supprimer les fichiers orphelins.

1. 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 Virtual Private Cloud (VPC) spécifique, créez AWS Glue une connexion réseau ou utilisez une connexion réseau existante.

   Si aucune connexion AWS Glue VPC n'est déjà configurée, créez-en une nouvelle en suivant les étapes de la section [Création de connexions pour les connecteurs](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) à l'aide de la AWS Glue console ou du /SDK. AWS CLI

1. Si vous choisissez **Personnaliser les paramètres**, entrez le nombre de jours pendant lesquels les fichiers doivent être conservés avant leur suppression dans **Configuration de la suppression des fichiers orphelins**. Vous pouvez également indiquer l’intervalle entre deux exécutions d’optimiseur consécutives. La valeur par défaut est 24 heures.

1. Choisissez **Activer l’optimisation**.

------
#### [ AWS CLI ]

 Pour activer la suppression des fichiers orphelins pour une table Iceberg dans AWS Glue, vous devez créer un optimiseur de table de type `orphan_file_deletion` et définir le `enabled` champ sur true. Pour créer un optimiseur de suppression de fichiers orphelins pour une table Iceberg à l'aide de AWS CLI, vous pouvez utiliser la commande suivante :

```
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"}, "orphanFileDeletionConfiguration":{"icebergConfiguration":{"orphanFileRetentionPeriodInDays":3, "location":'S3 location'}}}'\
 --type orphan_file_deletion
```

 Cette commande crée un optimiseur de suppression de fichiers orphelins pour la table Iceberg spécifiée. Les principaux paramètres sont les suivants :
+ roleArn : l’ARN du rôle IAM autorisé à accéder au compartiment S3 et aux ressources Glue.
+ enabled : définissez cette valeur sur true pour activer l’optimiseur.
+ orphanFileRetentionPeriodInDays — Le nombre de jours pendant lesquels les fichiers orphelins sont conservés avant de les supprimer (minimum 1 jour).
+ type : définissez la valeur sur orphan\$1file\$1deletion pour créer un optimiseur de suppression de fichiers orphelins.

 Après avoir créé l’optimiseur de table, les fichiers orphelins seront supprimés périodiquement (une fois par jour si cette option reste activée). Vous pouvez vérifier les exécutions à l’aide de l’API `list-table-optimizer-runs`. La tâche de suppression des fichiers orphelins identifiera et supprimera les fichiers qui ne sont pas suivis dans les métadonnées Iceberg de la table.

------
#### [ API ]

[CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer)Opération d'appel pour créer l'optimiseur de suppression de fichiers orphelins pour une table spécifique.

------

# Mise à jour de l’optimiseur de suppression de fichiers orphelins
<a name="update-orphan-file-deletion"></a>

 Vous pouvez modifier la configuration de l'optimiseur de suppression de fichiers orphelins, par exemple en modifiant la période de conservation des fichiers orphelins ou le rôle IAM utilisé par l'optimiseur à l'aide de la AWS Glue console ou de l'opération. AWS CLI`UpdateTableOptimizer` 

------
#### [ AWS Management Console ]

**Pour mettre à jour l’optimiseur de suppression de fichiers orphelins**

1.  Choisissez **Catalogue de données**, puis choisissez **Tables**. Dans la liste des tables, choisissez la table dont vous souhaitez mettre à jour la configuration de l’optimiseur de suppression des fichiers orphelins.

1. Dans la section inférieure de la page **Détails des tables**, choisissez **Optimisation des tables**, puis sélectionnez **Modifier**. 

1.  Sur la page **Modifier l’optimisation**, apportez les modifications souhaitées. 

1.  Choisissez **Enregistrer**. 

------
#### [ AWS CLI ]

 Vous pouvez utiliser l'`update-table-optimizer`appel pour mettre à jour l'optimiseur de suppression de fichiers orphelins dans AWS Glue, vous pouvez utiliser l'appel. Cela vous permet de modifier la `OrphanFileDeletionConfiguration` dans le champ `icebergConfiguration` dans lequel vous pouvez spécifier la `OrphanFileRetentionPeriodInDays` mise à jour pour définir le nombre de jours pendant lesquels les fichiers orphelins seront conservés, afin de spécifier l’emplacement de la table Iceberg dans laquelle les fichiers orphelins seront supprimés. 

```
aws glue update-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"},"orphanFileDeletionConfiguration":{"icebergConfiguration":{"orphanFileRetentionPeriodInDays":5}}}' \
 --type orphan_file_deletion
```

------
#### [ API ]

Appelez l'[UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)opération pour mettre à jour l'optimiseur de suppression de fichiers orphelins pour une table.

------

 

# Désactivation de la suppression des fichiers orphelins
<a name="disable-orphan-file-deletion"></a>

 Vous pouvez désactiver l'optimiseur de suppression de fichiers orphelins pour une table Apache Iceberg particulière à l'aide AWS Glue de la console ou. AWS CLI

------
#### [ Console ]

**Pour désactiver la suppression des fichiers orphelins**

1. Choisissez **Catalogue de données**, puis choisissez **Tables**. Dans la liste des tables, choisissez la table Iceberg dont vous souhaitez désactiver l’optimiseur pour la suppression des fichiers orphelins.

1. Dans la section inférieure de la page des **Détails des tables**, choisissez l’onglet **Optimisation des tables**.

1. Choisissez **Actions**, puis sélectionnez **Désactiver**, **Suppression des fichiers orphelins**.

   Vous pouvez également choisir **Désactiver** sous **Optimisation** depuis le menu **Actions**.

1.  Choisissez **Désactiver** dans le message de confirmation. Vous pouvez réactiver l’optimiseur de suppression des fichiers orphelins ultérieurement. 

    Une fois que vous avez confirmé, l’optimiseur de suppression des fichiers orphelins est désactivé et l’état de suppression des fichiers orphelins revient à `Not enabled`.

------
#### [ AWS CLI ]

Dans l'exemple suivant, remplacez l'ID de compte par un ID de AWS compte 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 le nom de AWS ressource (ARN) du rôle IAM et le nom réel du rôle IAM disposant des autorisations requises pour désactiver l'optimiseur.

```
aws glue update-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":'false'}'\ 
  --type orphan_file_deletion
```

------
#### [ API ]

Appelez l'[UpdateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-UpdateTableOptimizer)opération pour désactiver l'optimiseur de rétention des instantanés pour une table spécifique.

------