将数据插入到表中

插入数据会将新记录和数据文件附加到 Apache Iceberg 表中。

写入操作仍仅限于最初创建表的特定引擎(例如 Spark 或 Trino),以确保 Lakehouse 运行时目录中的元数据一致性。

准备工作

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

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

  2. 启用 BigLake API。

    启用 API 所需的角色

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

    启用 API

所需角色

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

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

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

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

将数据插入到表中

将示例数据插入到表中:

Spark

spark.sql("INSERT INTO TABLE_NAME VALUES (1, \"first row\"), (2, \"second row\"), (3, \"third row\");")

Trino

INSERT INTO TABLE_NAME VALUES (1, 'first row'), (2, 'second row'), (3, 'third row');

后续步骤