

# 孤立ファイルの削除の有効化
<a name="enable-orphan-file-deletion"></a>

 AWS Glue コンソール、AWS CLI、または AWS API を使用して、データカタログ内の Apache Iceberg テーブルの孤立ファイルの削除を有効にすることができます。新しいテーブルの場合は、テーブル形式として Apache Iceberg を選択し、テーブルの作成時に孤立ファイル削除オプティマイザーを有効にすることができます。新しいテーブルでは、スナップショットの保持はデフォルトで無効になっています。

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

**孤立ファイルの削除を有効にするには**

1.  [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) で AWS Glue コンソールを開き、データレイク管理者、テーブル作成者、またはテーブルに対する `glue:UpdateTable` および `lakeformation:GetDataAccess` の許可を付与されたユーザーとしてサインインします。

1. ナビゲーションペインの **[データカタログ]** で **[テーブル]** を選択します。

1. **[テーブル]** ページで、孤立ファイルの削除を有効にする Iceberg テーブルを選択します。

   ページの下部にある **[テーブル最適化]** タブを選択し、**[アクション]** から **[孤立ファイルの削除]**、**[有効にする]** を選択します。

   ページの右上隅にある **[アクション]** メニューから、**[最適化]** で **[有効にする]** することもできます。

1. **[最適化を有効にする]** ページで、**[最適化オプション]** の **[孤立ファイルの削除]** を選択します。

1. **[デフォルト設定]** を使用する場合、すべての孤立ファイルは 3 日後に削除されます。孤立ファイルを特定の日数保持する場合は、**[設定をカスタマイズ]** を選択します。

1. 次に、孤立ファイルを削除するために必要なアクセス許可を持つ IAM ロールを選択します。

1. Iceberg テーブルオプティマイザーが、特定の仮想プライベートクラウド (VPC) から Amazon S3 バケットにアクセスする必要があるセキュリティポリシー設定がある場合は、AWS Glue ネットワーク接続を作成するか、既存のバケットを使用します。

   AWS Glue VPC 接続をまだ設定していない場合は、AWS Glue コンソールまたは AWS CLI/SDK を使用して[コネクタ用の接続を作成する](https://docs.aws.amazon.com/glue/latest/dg/creating-connections.html)セクションの手順に従って、新しい接続を作成します。

1. **[設定をカスタマイズ]** を選択した場合は、**[孤立ファイルの削除設定]** で、削除前にファイルを保持する日数を入力します。2 つの連続するオプティマイザーの実行時の間隔を指定することもできます。デフォルト値は 24 時間です。

1. **[最適化を有効にする]** を選択します。

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

 AWS Glue で Iceberg テーブルの孤立ファイルの削除を有効にするには、タイプが `orphan_file_deletion` のテーブルオプティマイザーを作成し、`enabled` フィールドを true に設定する必要があります。AWS CLI を使用して Iceberg テーブルの孤立ファイル削除オプティマイザーを作成するには、次のコマンドを使用します。

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

 このコマンドにより、指定した Iceberg テーブルの孤立ファイル削除オプティマイザーが作成されます。キーパラメータは次のとおりです。
+ roleArn – S3 バケットと Glue リソースへのアクセス許可を持つ IAM ロールの ARN。
+ enabled – オプティマイザーを有効にするには、true に設定します。
+ orphanFileRetentionPeriodInDays – 孤立ファイルが削除されるまでの保持日数 (最小で 1 日)。
+ type – 孤立ファイル削除オプティマイザーを作成するには、orphan\$1file\$1deletion に設定します。

 テーブルオプティマイザーを作成した後は、孤立ファイルの削除が定期的に (有効のままにした場合は 1 日に 1 回) 実行されます。`list-table-optimizer-runs` API を使用して実行を確認できます。孤立ファイルの削除ジョブでは、テーブルの Iceberg メタデータで追跡されていないファイルが識別されて削除されます。

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

[CreateTableOptimizer](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-table-optimizers.html#aws-glue-api-table-optimizers-CreateTableOptimizer) オペレーションを呼び出して、特定のテーブルの孤立ファイル削除オプティマイザーを作成します。

------