テーブルを削除する

テーブルを削除またはドロップすると、Lakehouse ランタイム カタログからテーブルの登録とメタデータのみが削除されます。Cloud Storage に保存されている基盤となるデータファイルは、削除されません。

テーブルを削除するには、 Google Cloud コンソール、Spark と Trino の SQL 削除コマンド、または REST API を使用します。

始める前に

  1. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

  2. BigLake API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を介してこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を介してこの権限を取得できます。ロールを付与する方法をご覧ください。

    API の有効化

  3. 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 マネージド機能が有効になっているテーブルかに関係なく、テーブルが削除されます。テーブルの削除がバックグラウンドのテーブル管理ジョブとどのように連携するかについては、テーブル オプションを構成するをご覧ください。

テーブルを削除する

テーブルを削除します。

コンソール

  1. Google Cloud コンソールで、[Lakehouse] に移動します。

    [レイクハウス] に移動

  2. 既存のカタログを選択するか、まだ作成していない場合は新しいカタログを作成します。

  3. [Namespace details] テーブルで、テーブルを選択してメニュー オプションを開きます。

  4. [削除] をクリックします。

  5. ダイアログにテーブル名を入力して、削除を確定します。

  6. [削除] をクリックします。

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: カタログ Namespace の名前。

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 Namespace の名前。
  • 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: カタログ Namespace の名前。
  • TABLE_NAME: Iceberg テーブルの名前。

次のステップ