启用孤立文件删除功能
您可以在 Data Catalog 中使用 AWS Glue 控制台、AWS CLI 或 AWS API 为 Apache Iceberg 表启用孤立文件删除功能。对于新表,您可以在创建表时选择 Apache Iceberg 表格式并启用孤立文件删除优化器。新表会默认禁用快照保留功能。
- Console
-
启用孤立文件删除功能
-
打开 AWS Glue 控制台(https://console.aws.amazon.com/glue/
),然后以数据湖管理员、表创建者或已被授予表的 glue:UpdateTable
和lakeformation:GetDataAccess
权限的用户身份登录。 -
在导航窗格的数据目录下,请选择表。
在表页面上,选择要启用孤立文件删除功能的 Iceberg 表。
选择该页面下半部分的表优化选项卡,然后选择启用,并从操作中选择孤立文件删除。
您还可以从该页面右上角的操作菜单中,选择优化下的启用。
-
在启用优化页面的优化选项下,选择孤立文件删除。
-
如果您选择使用默认设置,则所有孤立文件将在 3 天后删除。如果要将孤立文件保留特定的天数,请选择自定义设置。
-
然后选择具有删除孤立文件所需权限的 IAM 角色。
-
如果您有安全策略配置,其中 Iceberg 表优化器需要从特定的虚拟私有云(VPC)访问 Amazon S3 存储桶,则请创建 AWS Glue 网络连接或使用现有网络连接。
如果您尚未设置 AWS Glue VPC 连接,则请使用 AWS Glue 控制台或 AWS CLI/SDK 按照为连接器创建连接部分中的步骤创建一个新连接。
-
如果您选择自定义设置,请在孤立文件删除配置下,输入文件删除之前要保留的天数。
-
选择启用优化。
-
- AWS CLI
-
要在 AWS Glue 中为 Iceberg 表启用孤立文件删除功能,需要创建一个
orphan_file_deletion
类型的表优化器并将enabled
字段设置为 true。要使用 AWS CLI 为 Iceberg 表创建孤立文件删除优化器,可以使用以下命令:aws glue create-table-optimizer \ --catalog-id
123456789012
\ --database-nameiceberg_db
\ --table-nameiceberg_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_file_deletion 将会创建孤立文件删除优化器。
该表优化器创建后,将会定期运行孤立文件删除(如果保持启用状态,则会每天删除一次)。您可以使用
list-table-optimizer-runs
API 来检查运行情况。孤立文件删除作业会识别并删除表的 Iceberg 元数据中未跟踪的文件。 -
- API
-
调用 CreateTableOptimizer 操作可创建特定表的孤立文件删除优化器。