Apache Iceberg データにクエリを実行する
このドキュメントでは、Iceberg BigLake テーブルに保存されているデータにクエリを実行する方法について説明します。
必要なロール
Iceberg BigLake テーブルにクエリを実行するには、BigQuery API の呼び出し元に次のロールがあることを確認してください。
- BigQuery Connection ユーザー(
roles/bigquery.connectionUser
) - BigQuery データ閲覧者(
roles/bigquery.dataViewer
) - BigQuery ユーザー(
roles/bigquery.user
)
呼び出し元は、自身のアカウント、Spark 接続サービス アカウント、Cloud リソース接続サービス アカウントのいずれかにできます。権限に応じて、これらのロールを自身に付与するか、これらのロールを付与するよう管理者に依頼します。ロールの付与の詳細については、リソースに対して付与可能なロールの表示をご覧ください。
Spark BigLake テーブルのクエリに必要な権限については、「必要な権限」セクションを開いて確認してください。
必要な権限
bigquery.connections.use
bigquery.jobs.create
bigquery.readsessions.create
(BigQuery Storage Read API を使用してデータを読み取る場合にのみ必要)bigquery.tables.get
bigquery.tables.getData
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
Iceberg BigLake テーブルにクエリを実行する
Iceberg BigLake テーブルを作成すると、標準の BigQuery テーブルの場合と同じように GoogleSQL 構文を使用してクエリを実行できます。例: SELECT field1, field2
FROM mydataset.my_iceberg_table;
次のステップ
- BigQuery での SQL の使用について確認する。
- BigLake テーブルについて確認する。
- BigQuery の割り当てについて確認する。