将 Iceberg V1 表升级到 V2

如果您有现有的版本 1 (V1) Apache Iceberg 表,则必须先使用查询引擎升级这些表,然后才能将它们与 Apache Iceberg REST 目录端点搭配使用。如需了解详情,请参阅更改表

准备工作

  1. 验证是否已为您的 Google Cloud 项目启用结算功能。

  2. 启用 BigLake API。

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予角色

    启用 API

  3. 使用 Apache Iceberg REST 目录端点设置 Lakehouse 运行时目录。

所需的角色

如需获得升级表所需的权限,请让管理员向您授予项目和存储桶的以下 IAM 角色:

  • 凭据自动售卖模式下升级表:项目的 BigLake Editor (roles/biglake.editor) 角色
  • 在非凭据自动售卖模式下升级表:
    • 项目的 BigLake Editor (roles/biglake.editor) 角色
    • Cloud Storage 存储桶的 Storage Object User (roles/storage.objectUser) 角色

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

升级表

如需将 Iceberg V1 表升级到 V2,请在查询引擎中运行以下命令:

Spark

ALTER TABLE CATALOG_NAME.SCHEMA_NAME.TABLE_NAME SET TBLPROPERTIES ('format-version'='2');

替换以下内容:

  • CATALOG_NAME:您的目录的名称。
  • SCHEMA_NAME:您的架构的名称。
  • TABLE_NAME:您的表的名称。

后续步骤