

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 啟用孤立檔案刪除
<a name="enable-orphan-file-deletion"></a>

 您可以使用 AWS Glue 主控台 AWS CLI或 AWS API，為 Data Catalog 中的 Apache Iceberg 資料表啟用孤立檔案刪除。針對新的資料表，您可以選擇 Apache Iceberg 作為資料表格式，並在您建立資料表時啟用孤立檔案刪除最佳化工具。新資料表的快照保留預設為停用。

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

**啟用孤立檔案刪除**

1.  在 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 開啟 AWS Glue 主控台，並以資料湖管理員、資料表建立者或已在資料表上授予 `glue:UpdateTable`和 `lakeformation:GetDataAccess`許可的使用者身分登入。

1. 在導覽面板的 **Data Catalog** 下方，選擇**資料表**。

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. 如果您選擇**自訂設定**，請在**孤立檔案刪除組態**下，輸入刪除之前保留檔案的天數。您也可以指定兩個連續最佳化工具執行之間的間隔。預設值為 24 小時。

1. 選擇**啟用最佳化**。

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

 若要在 中啟用 Iceberg 資料表的孤立檔案刪除 AWS Glue，您需要建立 類型的資料表最佳化工具，`orphan_file_deletion`並將 `enabled` 欄位設定為 true。若要使用 為 Iceberg 資料表建立孤立檔案刪除最佳化工具 AWS CLI，您可以使用下列命令：

```
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 – IAM 角色的 ARN，具有存取 S3 儲存貯體和 Glue 資源的許可。
+ enabled – 設定為 true 以啟用最佳化工具。
+ orphanFileRetentionPeriodInDays – 孤立檔案刪除之前保留的天數 (至少 1 天)。
+ 類型 – 設定為 orphan\$1file\$1deletion 以建立孤立檔案刪除最佳化工具。

 建立資料表最佳化工具之後，其會定期執行孤立檔案刪除 (如果啟用，則為每天刪除一次)。您可以使用 `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) 操作，為特定資料表建立孤立檔案刪除最佳化工具。

------