启用压缩优化器 - AWS Glue

启用压缩优化器

您可以在 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. 页面上,选择要为其启用压缩的开放表格式的表,然后在操作菜单下,选择优化,然后选择启用

    您还可以通过选择表详细信息页面中的表优化来启用压缩。选择页面下半部的表优化选项卡,然后选择启用压缩

    在 Data Catalog 中创建新的 Iceberg 表时,也可以使用启用优化选项。

  4. 启用优化页面上,选择优化选项下的压缩

    同时选中“Apache Iceberg 表详细信息”页面和“启用压缩”选项。
  5. 然后从下拉列表中选择一个具有 表优化的先决条件 部分所示权限的 IAM 角色。

    还可以选择创建新 IAM 角色选项来创建一个具有运行压缩所需权限的自定义角色。

    按照以下步骤更新一个现有的 IAM 角色:

    1. 要更新 IAM 角色的权限策略,请在 IAM 控制台中转到用于运行压缩的 IAM 角色。

    2. 添加权限部分中,选择“创建策略”。在新打开的浏览器窗口中,创建将用于您的角色的新策略。

    3. 在“创建策略”页面上,选择 JSON 选项卡。将“先决条件”中显示的 JSON 代码复制到策略编辑器字段中。

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

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

  7. 选择启用优化

AWS CLI

以下示例演示如何启用压缩。将账户 ID 替换为有效的 AWS 账户 ID。将数据库名称和表名称替换为实际的 Iceberg 表名称和数据库名称。将 roleArn 替换为 IAM 角色的 AWS 资源名称 (ARN) 以及具有运行压缩所需权限的 IAM 角色的名称。

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"}}' \ --type compaction
AWS API

调用 CreateTableOptimizer 操作为表启用压缩。

启用压缩后,表优化选项卡会显示以下压缩详细信息(大约 15–20 分钟后):

开始时间

压缩进程在 Data Catalog 中启动的时间。该值是一个采用 UTC 时间格式的时间戳。

结束时间

数据目录中压缩进程结束的时间。该值是一个采用 UTC 时间格式的时间戳。

Status

压缩运行的状态。值为成功或失败。

已压缩的文件数

已压缩的文件总数。

已压缩的字节数

已压缩的字节总数。