テーブルを削除またはドロップすると、Lakehouse ランタイム カタログからテーブルの登録とメタデータのみが削除されます。Cloud Storage に保存されている基盤となるデータファイルは、パージまたは削除されません。
テーブルを削除するには、 Google Cloud コンソール、Spark と Trino の SQL drop コマンド、または REST API を使用します。
始める前に
-
BigLake API を有効にします(有効になっていない場合)。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法を確認する。 - 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 データ操作言語(DML)や自動テーブル管理などの BigQuery マネージド機能を使用するようにオプトインできます。これらの機能は、テーブルが作成される場所に応じて異なる方法で有効になります。
- BigQuery から: BigQuery DML と自動テーブル管理はデフォルトで有効になっています。
- オープンソース エンジンから: オプトインするには、テーブル プロパティを明示的に構成する必要があります。詳細については、テーブル オプションを構成するをご覧ください。
カタログからテーブル登録を削除すると、標準の Iceberg テーブルか、BigQuery マネージド機能が有効になっているテーブルかに関係なく、テーブルが削除されます。テーブルの削除がバックグラウンド テーブル管理ジョブとどのように相互作用するかについては、テーブル オプションを構成するをご覧ください。
テーブルを削除する
テーブルを削除します。
コンソール
Google Cloud コンソールで、[Lakehouse] に移動します。
既存のカタログを選択するか、カタログがない場合は作成します。
[Namespace details] テーブルで、テーブルを選択してメニュー オプションを開きます。
[削除] をクリックします。
ダイアログにテーブル名を入力して削除を確定します。
[削除] をクリックします。
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 テーブルの名前。