テーブルの詳細を表示すると、Lakehouse ランタイム カタログの Apache Iceberg テーブルの基盤となるスキーマ、テーブル プロパティ、構成メタデータが表示されます。
認証情報ベンディング モードでは、クエリエンジンは、基盤となる Cloud Storage ファイルと安全にやり取りするための有効期間の短いアクセス認証情報も取得します。このとき、IAM ストレージ権限を直接必要としません。
テーブルの詳細は、 Google Cloud コンソール、Spark と Trino の SQL DESCRIBE コマンド、または REST API を使用して確認できます。
始める前に
-
BigLake API がまだ有効になっていない場合は、有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限がすでに付与されている可能性があります。それ以外の場合は、Service Usage 管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する。 - Apache Iceberg REST カタログ エンドポイントを使用して、Lakehouse ランタイム カタログを設定します。
必要なロール
テーブルの詳細を表示するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
テーブルの詳細を表示する: BigLake 閲覧者(
roles/biglake.viewer) - プロジェクト
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
テーブルの機能とサポート
Lakehouse ランタイム カタログでテーブルを使用する場合は、さまざまなテーブル タイプとそのオプトイン機能を理解しておくと便利です。Apache Iceberg テーブルの使用の詳細については、Apache Iceberg テーブルの概要をご覧ください。
サポートされている Iceberg テーブル
Apache Iceberg V2(一般提供版)テーブルと V3(プレビュー版)テーブルのみがサポートされています。Iceberg V1 テーブルはサポートされていません。既存の V1 テーブルをアップグレードするには、Iceberg V1 テーブルを V2 にアップグレードするをご覧ください。
テーブルの詳細を取得する
テーブルのスキーマとプロパティを調べます。
コンソール
Google Cloud コンソールで、[Lakehouse] に移動します。
既存のカタログを選択するか、まだ作成していない場合は新しいカタログを作成します。
[Namespace の詳細] テーブルで、検査するテーブルの名前をクリックします。
[テーブルの詳細] ページで、テーブルのスキーマ、パーティション仕様、メタデータ プロパティを確認します。
Spark
spark.sql("DESCRIBE EXTENDED NAMESPACE_NAME.TABLE_NAME").show()
読み取り/書き込みの相互運用性とテーブル管理(プレビュー)を有効にするには、TBLPROPERTIES 句にプロパティを追加します。
TBLPROPERTIES (
'gcp.biglake.bigquery-dml.enabled' = true,
'gcp.biglake.table-management.enabled' = true
)
Trino
DESCRIBE SCHEMA_NAME.TABLE_NAME;
読み取り/書き込みの相互運用性とテーブル管理(プレビュー版)を有効にするには、次のプロパティを WITH 句に追加します。
WITH (
"gcp.biglake.bigquery-dml.enabled" = 'true',
"gcp.biglake.table-management.enabled" = 'true'
)
gcloud
gcloud を使用してテーブルの説明を取得するには、gcloud biglake iceberg tables describe コマンドを実行します。
gcloud biglake iceberg tables describe 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 テーブルのテーブルの詳細とメタデータ プロパティを表示するには、BigQuery コンソールでテーブルの詳細を確認するか、bq show コマンドを使用します。
REST
REST API を使用してテーブルのメタデータを取得するには、GetIcebergTable エンドポイントに GET リクエストを送信します。
GET /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME
認証情報ベンディング モードで有効期間の短いテーブル認証情報を読み込むには、LoadIcebergTableCredentials エンドポイントに GET リクエストを送信します。
GET /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/tables/TABLE_NAME/credentials
次のように置き換えます。
PROJECT_ID: 実際の Google Cloud プロジェクト ID。CATALOG_ID: Lakehouse ランタイム カタログの ID。NAMESPACE_NAME: カタログ Namespace の名前。TABLE_NAME: Iceberg テーブルの名前。
次のステップ
- テーブルをクエリする方法を学習する。
- テーブルを変更する方法を学習する。