启用孤立文件删除功能 - AWS Glue

启用孤立文件删除功能

您可以在 Data Catalog 中使用 AWS Glue 控制台、AWS CLI 或 AWS API 为 Apache Iceberg 表启用孤立文件删除功能。对于新表,您可以在创建表时选择 Apache Iceberg 表格式并启用孤立文件删除优化器。新表会默认禁用快照保留功能。

Console
启用孤立文件删除功能
  1. 打开 AWS Glue 控制台(https://console.aws.amazon.com/glue/),然后以数据湖管理员、表创建者或已被授予表的 glue:UpdateTablelakeformation:GetDataAccess 权限的用户身份登录。

  2. 在导航窗格的数据目录下,请选择

  3. 页面上,选择要启用孤立文件删除功能的 Iceberg 表。

    选择该页面下半部分的表优化选项卡,然后选择启用,并从操作中选择孤立文件删除

    您还可以从该页面右上角的操作菜单中,选择优化下的启用

  4. 启用优化页面的优化选项下,选择孤立文件删除

  5. 如果您选择使用默认设置,则所有孤立文件将在 3 天后删除。如果要将孤立文件保留特定的天数,请选择自定义设置

  6. 然后选择具有删除孤立文件所需权限的 IAM 角色。

  7. 如果您有安全策略配置,其中 Iceberg 表优化器需要从特定的虚拟私有云(VPC)访问 Amazon S3 存储桶,则请创建 AWS Glue 网络连接或使用现有网络连接。

    如果您尚未设置 AWS Glue VPC 连接,则请使用 AWS Glue 控制台或 AWS CLI/SDK 按照为连接器创建连接部分中的步骤创建一个新连接。

  8. 如果您选择自定义设置,请在孤立文件删除配置下,输入文件删除之前要保留的天数。

  9. 选择启用优化

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_file_deletion 将会创建孤立文件删除优化器。

该表优化器创建后,将会定期运行孤立文件删除(如果保持启用状态,则会每天删除一次)。您可以使用 list-table-optimizer-runs API 来检查运行情况。孤立文件删除作业会识别并删除表的 Iceberg 元数据中未跟踪的文件。

API

调用 CreateTableOptimizer 操作可创建特定表的孤立文件删除优化器。