启用压缩优化器
您可以在 AWS Glue 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
权限的用户身份登录。
-
在导航窗格的数据目录下,请选择表。
在表页面上,选择要为其启用压缩的开放表格式的表,然后在操作菜单下,选择优化,然后选择启用。
您还可以通过选择表详细信息页面中的表优化来启用压缩。选择页面下半部的表优化选项卡,然后选择启用压缩。
在 Data Catalog 中创建新的 Iceberg 表时,也可以使用启用优化选项。
-
在启用优化页面上,选择优化选项下的压缩。
-
然后从下拉列表中选择一个具有 表优化的先决条件 部分所示权限的 IAM 角色。
还可以选择创建新 IAM 角色选项来创建一个具有运行压缩所需权限的自定义角色。
按照以下步骤更新一个现有的 IAM 角色:
-
要更新 IAM 角色的权限策略,请在 IAM 控制台中转到用于运行压缩的 IAM 角色。
-
在添加权限部分中,选择“创建策略”。在新打开的浏览器窗口中,创建将用于您的角色的新策略。
-
在“创建策略”页面上,选择 JSON
选项卡。将“先决条件”中显示的 JSON 代码复制到策略编辑器字段中。
-
如果您有安全策略配置,其中 Iceberg 表优化器需要从特定的虚拟私有云(VPC)访问 Amazon S3 存储桶,则请创建 AWS Glue 网络连接或使用现有网络连接。
如果您尚未设置 AWS Glue VPC 连接,则请使用 AWS Glue 控制台或 AWS CLI/SDK 按照为连接器创建连接部分中的步骤创建一个新连接。
-
选择启用优化。
- 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
-
压缩运行的状态。值为成功或失败。
- 已压缩的文件数
已压缩的文件总数。
- 已压缩的字节数
-
已压缩的字节总数。