

# Habilitar a exclusão de arquivos órfãos
<a name="enable-orphan-file-deletion"></a>

 Você pode usar o console do AWS Glue, a AWS CLI ou a API da AWS para habilitar a exclusão de arquivos órfãos das suas tabelas Apache Iceberg que estão no Catálogo de Dados. Para novas tabelas, você pode escolher Apache Iceberg como o formato de tabela e habilitar o otimizador de exclusão de arquivos órfãos ao criar a tabela. A retenção de snapshots está desabilitada por padrão para novas tabelas.

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

**Para habilitar a exclusão de arquivos órfãos**

1.  Abra o console do AWS Glue em [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) e faça login como administrador do data lake, criador da tabela ou um usuário que tenha recebido as permissões `glue:UpdateTable` e `lakeformation:GetDataAccess` na tabela. 

1. No painel de navegação, em **Catálogo de dados**, escolha **Tabelas**.

1. Na página **Tabelas**, escolha uma tabela Iceberg na qual você deseja habilitar a exclusão de arquivos órfãos.

   Escolha a guia **Otimização de tabela** na seção inferior da página e depois **Habilitar**, **Exclusão de arquivos órfãos**, em **Ações**. 

   Você também pode escolher **Habilitar** em **Otimização** no menu **Ações** localizado no canto superior direito da página.

1. Na página **Habilitar otimização**, escolha **Exclusão de arquivos órfãos** em **Opções de otimização**.

1. Se você optar por usar as **Configurações padrão**, todos os arquivos órfãos serão excluídos após 3 dias. Se quiser manter os arquivos órfãos por um número específico de dias, escolha **Personalizar configurações**.

1. Depois, escolha uma perfil do IAM com as permissões necessárias para excluir arquivos órfãos.

1. Se você tiver configurações de política de segurança em que o otimizador de tabelas do Iceberg precise acessar buckets do Amazon S3 de uma Nuvem Privada Virtual (VPC) específica, crie uma conexão de rede do AWS Glue ou use uma existente.

   Se você ainda não tiver uma conexão VPC do AWS Glue configurada, crie uma seguindo as etapas na seção [Creating connections for connectors](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html) usando o console do AWS Glue ou a AWS CLI/o SDK.

1. Em **Personalizar configurações**, insira o número de dias para reter os arquivos antes da exclusão em **Configuração de exclusão de arquivos órfãos**. Também é possível especificar o intervalo entre duas execuções consecutivas do otimizador. O valor padrão é 24 horas.

1. Escolha **Habilitar otimização**.

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

 Para habilitar a exclusão de arquivos órfãos para uma tabela Iceberg no AWS Glue, você precisa criar um otimizador de tabela do tipo `orphan_file_deletion` e definir o campo `enabled` como true. Para criar um otimizador de exclusão de arquivos órfãos para uma tabela Iceberg usando a AWS CLI, você pode usar o seguinte comando:

```
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
```

 Esse comando cria um otimizador de exclusão de arquivos órfãos para a tabela Iceberg especificada. Os principais parâmetros são:
+ roleArn: o ARN do perfil do IAM com permissões para acessar o bucket do S3 e os recursos do Glue.
+ enabled: defina como true para habilitar o otimizador.
+ orphanFileRetentionPeriodInDays: o número de dias para reter arquivos órfãos antes de excluí-los (o mínimo é um dia).
+ type: defina como orphan\_file\_deletion para criar um otimizador de exclusão de arquivos órfãos.

 Depois de criar o otimizador de tabela, ele executará a exclusão de arquivos órfãos periodicamente (uma vez por dia, se estiver habilitado). Você pode verificar as execuções usando a API `list-table-optimizer-runs`. O trabalho de exclusão de arquivos órfãos identificará e excluirá arquivos que não são rastreados nos metadados Iceberg da tabela.

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

Chame a operação [CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer) para criar o otimizador de exclusão de arquivos órfãos de uma tabela específica.

------