启用目录级自动表优化 - AWS Glue

启用目录级自动表优化

您可以为 Data Catalog 中的所有 Apache Iceberg 新表启用自动表优化。创建表后,还可以手动显式更新表优化设置。

要更新 Data Catalog 设置以启用目录级表优化,使用的 IAM 角色必须对根目录具有 glue:UpdateCatalog 权限。您可以使用 GetCatalog API 来验证目录属性。

对于 Lake Formation 托管式表,在目录优化配置期间选择的 IAM 角色需要任何新表或更新后的表的 Lake Formation ALTERDESCRIBEINSERT 以及 DELETE 权限。

  1. 通过 https://console.aws.amazon.com/lakeformation/ 打开 Lake Formation 控制台。

  2. 在导航窗格中,选择 Data Catalog

  3. 选择目录选项卡。

  4. 选择账户级别目录。

  5. 表优化选项卡下选择表优化编辑。也可在操作中选择编辑优化

    屏幕截图,其中显示了在目录级别启用优化的编辑选项。
  6. 表优化页面上配置以下选项:

    屏幕截图,其中显示了目录级别的优化选项。
    1. 配置压缩设置:

      • 启用/禁用压缩功能。

      • 选择具有运行优化器所需权限的 IAM 角色。

        有关 IAM 角色权限要求的更多信息,请参阅 表优化的先决条件

    2. 配置快照保留设置:

      • 启用/禁用保留功能。

      • 设置以天为单位的快照保留期:默认值为 5 天。

      • 设置要保留的快照数量:默认值为 1 个快照。

      • 启用/禁用过期文件清理功能。

    3. 配置孤立文件删除设置:

      • 启用/禁用孤立文件删除功能。

      • 设置以天为单位的孤立文件保留期:默认值为 3 天。

  7. 选择保存

使用以下 CLI 命令更新现有目录的优化器设置:

例 更新目录的优化器设置
aws glue update-catalog \ --name catalog-id \ --catalog-input \ '{ "CatalogId": "111122223333", "CatalogInput": { "CatalogProperties": { "CustomProperties": { "ColumnStatistics.Enabled": "false", "ColumnStatistics.RoleArn": "arn:aws:iam::111122223333:role/service-role/stats-role-name" }, "IcebergOptimizationProperties": { "RoleArn": "arn:aws:iam::111122223333:role/optimizer-role-name", "Compaction": { "enabled": "true" }, "Retention": { "enabled": "true", "snapshotRetentionPeriodInDays": "10", "numberOfSnapshotsToRetain": "5", "cleanExpiredFiles": "true" }, "OrphanFileDeletion": { "enabled": "true", "orphanFileRetentionPeriodInDays": "3" } } } } }'

如果在使用目录级优化器时遇到问题,请检查以下内容:

  • 确保 IAM 角色具有“先决条件”部分所述的正确权限。

  • 查看 CloudWatch 日志,了解与优化器操作相关的任何错误信息。

    有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的查看可用的指标

  • 检查目录配置,确认目录设置是否已成功应用。

  • 对于表访问失败,请查看 CloudWatch 日志和 EventBridge 通知,了解详细的错误信息。