このドキュメントでは、BigQuery にクエリを実行する前に、Dataform ワークスペースで SQL クエリの出力をプレビューする方法について説明します。
Dataform のクエリ プレビューについて
Dataform core を使用して SQLX または JavaScript ファイルでクエリを開発すると、Dataform はクエリを SQL にリアルタイムでコンパイルします。コンパイル済みの SQL クエリを BigQuery で実行する前に出力をテストするには、Dataform ワークスペースでクエリのプレビューを実行します。
クエリのプレビューを実行すると、Dataform は BigQuery でジョブを実行してコンパイルされたクエリを一時的な宛先テーブルで実行し、ワークスペースにクエリ結果を表示します。実行をトリガーしてからテーブルを BigQuery に公開する前に、クエリの出力を確認できます。プレビューされたクエリを含む一時テーブルは、最大 24 時間以内に自動的に削除されます。BigQuery ジョブの詳細については、BigQuery ジョブの概要をご覧ください。
Dataform でクエリのプレビューを実行すると、BigQuery で料金が発生します。BigQuery の料金の詳細については、BigQuery の料金をご覧ください。
クエリのプレビュー中、Dataform はユーザー認証情報を使用して BigQuery でジョブを実行します。ただし、ワークフローの実行中に、Dataform はサービス アカウントの認証情報を使用して BigQuery でアセットを作成または更新します。
Dataform は、現在のブラウザ セッション中にプレビューされたすべてのクエリの結果をワークスペースの [クエリ結果] パネルに表示します。[クエリ結果] パネルでは、現在のブラウザ セッションでプレビューされた各クエリに関する次の情報を表示できます。
- ジョブ情報
- BigQuery ジョブ ID
- プレビューを実行しているユーザー
- ジョブが実行されるロケーション(
dataform.json
ファイルから取得) - BigQuery ジョブの作成、開始時刻、終了時刻
- BigQuery ジョブの所要時間
- 処理されたバイト数
- BigQuery で課金されるバイト数
- ジョブの優先度
- クエリでレガシー SQL を使用する
- クエリの一時的な宛先テーブル
- クエリの結果
- クエリ出力の JSON 表現
さらに、[クエリ結果] パネルで、プレビューされる各クエリのソースファイルに移動して、BigQuery SQL ワークスペースに移動してプレビュー ジョブを表示できます。
始める前に
Google Cloud コンソールの [Dataform] ページに移動します。
リポジトリを作成または選択します。
開発ワークスペースを作成または選択します。
テーブルを定義するなどの SQL クエリを作成します。
必要なロール
Dataform ワークスペースでクエリをプレビューするために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
-
ワークスペースの Dataform 編集者(
roles/dataform.editor
) -
プロジェクトに対する BigQuery ジョブユーザー(
roles/bigquery.jobUser
)。
ロールの付与の詳細については、アクセスの管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
クエリをプレビューする
実行前に Dataform のクエリ結果を調べるには、ワークスペースでクエリのプレビューを実行します。現在編集されているファイルに複数のクエリが含まれている場合は、プレビューするクエリを選択します。プレビューできるのは、一度に 1 つのクエリのみです。
アサーションのテーブルでは、プレビューの実行が少し異なります。詳細については、アサーションを使用してテーブルをプレビューするをご覧ください。
SQL クエリをプレビューし、Dataform ワークスペースでクエリ結果を表示するには、次の手順に従います。
- [ファイル] ペインで、
definitions/
を展開します。 - SQLX または JavaScript ファイルを選択します。
- [実行] をクリックします。
- ファイルに複数のクエリが含まれている場合は、プルダウンで、プレビューするクエリを選択します。
- [クエリ結果] パネルでプレビューの結果を確認します。
- ジョブの詳細を調べるには、[ジョブ情報] タブを選択します。
- クエリ結果を調べるには、[結果] タブを選択します。
- クエリの JSON 出力を表示するには、[JSON] タブを選択します。
- SQL ワークスペースでプレビュー ジョブを表示するには、
[その他] メニュー > [SQL ワークスペースでジョブを表示] をクリックします。
アサーションを使用してテーブルをプレビューする
アサーションを含む SQLX テーブル定義ファイルでは、テーブル作成クエリと定義済みのアサーション クエリをプレビューできます。
Dataform は、テーブル定義クエリをデフォルト クエリとして扱います。テーブル作成クエリをプレビューするには、ワークスペースで [Run] をクリックします。アサーション クエリをプレビューするには、[Run] ボタンの横にあるプルダウンで選択する必要があります。プレビューできるのは、一度に 1 つのクエリのみです。
Dataform ワークスペースのアサーションを使用してテーブル定義ファイルでクエリをプレビューするには、次の手順を行います。
- [ファイル] ペインで、
definitions/
を展開します。 - アサーションを含むテーブルの定義ファイルを選択します。
- プレビューを実行。
- テーブル作成クエリをプレビューするには、[実行] をクリックします。
- アサーション クエリをプレビューするには、[Run] の横にあるプルダウン アイコンをクリックし、プレビューするクエリを選択します。
- [クエリ結果] パネルでプレビューの結果を確認します。
- ジョブの詳細を調べるには、[ジョブ情報] タブを選択します。
- クエリ結果を調べるには、[結果] タブを選択します。
- クエリの JSON 出力を表示するには、[JSON] タブを選択します。
- SQL ワークスペースでプレビュー ジョブを表示するには、
[その他] メニュー > [SQL ワークスペースでジョブを表示] をクリックします。
次のステップ
- BigQuery の料金の詳細については、BigQuery の料金をご覧ください。
- Dataform の料金の詳細については、料金をご覧ください。
- Dataform のワークスペースの詳細については、ワークスペースでの開発の概要をご覧ください。
- アサーションを使用してテーブルクエリを検証する方法については、アサーションを使用してテーブルを検証するをご覧ください。