管理 Lakehouse Iceberg REST Catalog 表

Lakehouse for Apache Iceberg 支持创建、管理和查询存储在 Cloud Storage 中的 Lakehouse Iceberg REST 目录表

这些表通过 Lakehouse 运行时目录 进行管理,可由 BigQuery 和连接的开源引擎读取。写入操作仍仅限于最初创建表的特定引擎。除了查询引擎集成之外,Lakehouse 运行时目录还实现了开源 Iceberg REST 目录 API 规范,允许兼容的 REST 客户端直接与表资源进行交互。

准备工作

请参阅表概览,了解 不同类型的表以及使用这些表的影响。

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

  2. 启用 BigLake API。

    启用 API 所需的角色

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

    启用 API

所需的角色

如需获得管理 Lakehouse Iceberg REST 目录表所需的权限,请让管理员未您授予项目和存储桶的以下 IAM 角色:

  • 创建和删除表:
    • BigLake Admin (roles/biglake.admin) - 项目
    • Storage Admin (roles/storage.admin) - Cloud Storage 存储桶
  • 凭据自动售卖模式下读取表数据: BigLake Viewer (roles/biglake.viewer) - 项目
  • 凭据自动售卖模式写入表数据: BigLake Editor (roles/biglake.editor) - 项目
  • 在非凭证自动售卖模式下读取表数据:
    • BigLake Viewer (roles/biglake.viewer) - 项目
    • Storage Object Viewer (roles/storage.objectViewer) - Cloud Storage 存储桶
  • 在非凭证自动售卖模式下写入表数据:
    • BigLake Editor (roles/biglake.editor) - 项目
    • Storage Object User (roles/storage.objectUser) - Cloud Storage 存储桶

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

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

管理操作

您可以对 Lakehouse Iceberg REST 目录表执行以下管理操作:

  • 创建表: 使用 Google Cloud 控制台、Spark、Trino 或 Iceberg REST 目录 API (CreateIcebergTable) 在目录命名空间内创建 Apache Iceberg 表。
  • 列出表: 使用 Google Cloud 控制台、Spark、Trino 或 Iceberg REST 目录 API (ListIcebergTableIdentifiers) 查看命名空间内的表标识符。
  • 获取表详细信息: 使用 Google Cloud 控制台、Spark、Trino 或 Iceberg REST 目录 API (GetIcebergTableLoadIcebergTableCredentials) 检查表架构、属性和凭据。
  • 插入数据: 使用 Spark 或 Trino 将数据行附加到 Iceberg 表。
  • 查询表: 使用四部分表命名从 Spark、Trino 或 BigQuery 对 Iceberg 表执行查询。
  • 更改表: 使用 Google Cloud 控制台、Spark、Trino 或 Iceberg REST 目录 API (UpdateIcebergTable) 演变表架构并更新元数据属性。
  • 删除表: 使用 Google Cloud 控制台、Spark、Trino 或 Iceberg REST 目录 API (DeleteIcebergTable) 从目录中删除表注册,而不会清除底层存储文件。

后续步骤