將資料插入資料表

插入資料時,系統會將新記錄和資料檔案附加至 Apache Iceberg 資料表。

事前準備

  1. 確認專案已啟用計費功能 Google Cloud

  2. 啟用 BigLake API。

    啟用 API 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

  3. 使用 Apache Iceberg REST 目錄端點設定 Lakehouse 執行階段目錄

必要的角色

如要取得將資料插入表格所需的權限,請要求管理員授予您專案和儲存空間 bucket 的下列 IAM 角色:

  • 憑證販售模式寫入資料表資料: BigLake 編輯器 (roles/biglake.editor) - 專案
  • 在非憑證臨時配發模式下寫入資料表資料:
    • BigLake 編輯者 (roles/biglake.editor) - 專案
    • Storage 物件使用者 (roles/storage.objectUser) - Cloud Storage 值區

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

表格功能和支援

在 Lakehouse 執行階段目錄中使用表格時,建議瞭解不同表格類型及其選擇加入功能。如要進一步瞭解如何使用 Apache Iceberg 資料表,請參閱 Apache Iceberg 資料表總覽

支援的 Iceberg 資料表

系統僅支援 Apache Iceberg V2 (正式發布版) 和 V3 (預先發布版) 資料表。不支援 Iceberg V1 資料表。如要升級現有的 V1 資料表,請參閱「將 Iceberg V1 資料表升級至 V2」。

使用表格選項 (預覽版)

您可以設定特定資料表屬性,選擇使用 BigQuery 管理功能,例如 BigQuery 資料操縱語言 (DML) 和自動資料表管理。啟用這些功能的方式會因表格建立位置而異:

  • 從 BigQuery:BigQuery DML 和自動表格管理功能預設為啟用。
  • 開放原始碼引擎:如要啟用這項功能,您必須明確設定表格屬性。詳情請參閱「設定表格選項」。

將資料插入資料表

將範例資料插入資料表。

如要從 BigQuery 插入資料,資料表必須啟用 BigQuery DML (gcp.biglake.bigquery-dml.enabled = true)。如需詳細操作說明,請參閱「設定資料表選項」。

Spark

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

如要啟用讀取/寫入互通性和表格管理 (預覽版),請將屬性新增至 TBLPROPERTIES 子句:

TBLPROPERTIES (
  'gcp.biglake.bigquery-dml.enabled' = true,
  'gcp.biglake.table-management.enabled' = true
)

Trino

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

如要啟用讀取/寫入互通性和表格管理 (預覽版),請在 WITH 子句中加入下列屬性:

WITH (
  "gcp.biglake.bigquery-dml.enabled" = 'true',
  "gcp.biglake.table-management.enabled" = 'true'
)

BigQuery

如要從 BigQuery 將資料插入 Lakehouse 執行階段目錄中的 Apache Iceberg 資料表,資料表必須啟用 BigQuery DML。使用下列 GoogleSQL INSERT 陳述式:

INSERT INTO `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME` VALUES (1, "foo");

更改下列內容:

  • PROJECT_ID:您的 Google Cloud專案 ID。
  • CATALOG_ID:您的 Lakehouse 執行階段目錄 ID。
  • NAMESPACE:Iceberg 命名空間名稱。
  • TABLE_NAME:Iceberg 資料表名稱。

後續步驟