註冊資料表

註冊現有的 Apache Iceberg 資料表,即可將中繼資料整合至 Lakehouse 執行階段目錄,在命名空間內查詢及管理資料表資料。這與建立資料表不同,後者會初始化新的空白資料表結構及其相關聯的儲存空間。

事前準備

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

  2. 啟用 BigLake API。

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    啟用 API

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

必要的角色

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

  • 註冊資料表:
    • BigLake 管理員 (roles/biglake.admin) - 您的專案
    • Storage 管理員 (roles/storage.admin) - 目標 Cloud Storage bucket

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

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

註冊資料表

註冊現有的 Iceberg 資料表。

gcloud

如要使用 gcloud 註冊資料表,請執行 gcloud biglake iceberg tables register 指令

gcloud biglake iceberg tables register TABLE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --metadata-location="METADATA_LOCATION" \
    [--overwrite]

更改下列內容:

  • TABLE_NAME:要指派給已註冊資料表的名稱。
  • PROJECT_ID: Google Cloud 專案 ID。
  • CATALOG_ID:目錄 ID。
  • NAMESPACE_NAME:目錄命名空間名稱。
  • METADATA_LOCATION:資料表最新中繼資料 JSON 檔案的 Cloud Storage URI,例如 gs://my-bucket/path/to/metadata/00001.metadata.json
  • --overwrite:(選用) 覆寫現有資料表。

REST

如要使用 REST API 註冊 Iceberg 資料表,請對 RegisterIcebergTable 端點發出 POST 要求:

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/register

要求主體必須包含採用下列結構的 JSON 酬載:

{
  "name": "TABLE_NAME",
  "metadata-location": "METADATA_LOCATION",
  "overwrite": OVERWRITE
}

更改下列內容:

  • PROJECT_ID: Google Cloud 專案 ID。
  • CATALOG_ID:目錄 ID。
  • NAMESPACE_NAME:目錄命名空間名稱。
  • TABLE_NAME:已註冊資料表的名稱。
  • METADATA_LOCATION:資料表最新中繼資料 JSON 檔案的 Cloud Storage URI。
  • OVERWRITE:如果資料表存在,則為 true (覆寫),否則為 false

後續步驟