註冊現有的 Apache Iceberg 資料表,即可將中繼資料整合至 Lakehouse 執行階段目錄,在命名空間內查詢及管理資料表資料。這與建立資料表不同,後者會初始化新的空白資料表結構及其相關聯的儲存空間。
事前準備
-
啟用 BigLake API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。 - 使用 Apache Iceberg REST 目錄端點設定 Lakehouse 執行階段目錄。
必要的角色
如要取得註冊資料表所需的權限,請要求管理員在專案和儲存空間 bucket 中授予您下列 IAM 角色:
-
註冊資料表:
- BigLake 管理員 (
roles/biglake.admin) - 您的專案 - Storage 管理員 (
roles/storage.admin) - 目標 Cloud Storage bucket
- BigLake 管理員 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
註冊資料表
註冊現有的 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。