刪除或捨棄資料表只會從 Lakehouse 執行階段目錄移除資料表註冊和中繼資料。儲存在 Cloud Storage 中的基礎資料檔案不會遭到清除或刪除。
您可以使用 Google Cloud 主控台、Spark 和 Trino 中的 SQL 捨棄指令,或 REST API 刪除資料表。
事前準備
-
啟用 BigLake API。
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。 - 使用 Apache Iceberg REST 目錄端點設定 Lakehouse 執行階段目錄。
必要的角色
如要取得刪除資料表所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
所有項目:
BigLake 管理員 (
roles/biglake.admin) - 您的專案
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
表格功能和支援
在 Lakehouse 執行階段目錄中使用表格時,建議瞭解不同表格類型及其選擇加入功能。如要進一步瞭解如何使用 Apache Iceberg 資料表,請參閱 Apache Iceberg 資料表總覽。
支援的 Iceberg 資料表
系統僅支援 Apache Iceberg V2 (正式發布版) 和 V3 (預先發布版) 資料表。不支援 Iceberg V1 資料表。如要升級現有的 V1 資料表,請參閱「將 Iceberg V1 資料表升級至 V2」。
使用表格選項 (預覽版)
您可以設定特定資料表屬性,選擇使用 BigQuery 管理功能,例如 BigQuery 資料操縱語言 (DML) 和自動資料表管理。啟用這些功能的方式會因表格建立位置而異:
- 從 BigQuery:BigQuery DML 和自動表格管理功能預設為啟用。
- 開放原始碼引擎:如要啟用這項功能,您必須明確設定表格屬性。詳情請參閱「設定表格選項」。
從目錄中刪除資料表註冊項目時,系統會移除資料表,無論該資料表是標準 Iceberg 資料表,還是已啟用 BigQuery 代管功能的資料表。請參閱「設定表格選項」,瞭解表格刪除作業與背景表格管理工作的互動方式。
刪除資料表
刪除資料表。
控制台
前往 Google Cloud 控制台的「Lakehouse」Lakehouse。
選取現有目錄,或建立目錄 (如果沒有的話)。
在「命名空間詳細資料」表格中,選取資料表並展開選單選項。
點選「刪除」。
在對話方塊中輸入資料表名稱,確認要刪除。
點選「刪除」。
Spark
spark.sql("DROP TABLE TABLE_NAME;")
DROP TABLE TABLE_NAME;
gcloud
如要使用 gcloud 刪除資料表,請執行 gcloud biglake iceberg tables delete 指令。
gcloud biglake iceberg tables delete TABLE_NAME \ --project="PROJECT_ID" \ --catalog="CATALOG_ID" \ --namespace="NAMESPACE_NAME"
更改下列內容:
TABLE_NAME:Iceberg 資料表名稱。PROJECT_ID:您的 Google Cloud 專案 ID。CATALOG_ID:目錄 ID。NAMESPACE_NAME:目錄命名空間的名稱。
BigQuery
如要從 BigQuery 的 Lakehouse 執行階段目錄中刪除 Apache Iceberg 資料表註冊,請使用下列 GoogleSQL DROP TABLE 陳述式:
DROP TABLE `PROJECT_ID.CATALOG_ID.NAMESPACE.TABLE_NAME`;
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。CATALOG_ID:您的 Lakehouse 執行階段目錄 ID。NAMESPACE:Iceberg 命名空間名稱。TABLE_NAME:Iceberg 資料表名稱。
REST
如要使用 REST API 刪除 Iceberg 資料表註冊,請對 DeleteIcebergTable 端點發出 DELETE 要求:
DELETE /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。CATALOG_ID:目錄 ID。NAMESPACE_NAME:目錄命名空間的名稱。TABLE_NAME:Iceberg 資料表名稱。