SQL クエリをプレビューする

このドキュメントでは、BigQuery にクエリを実行する前に、Dataform ワークスペースで SQL クエリの出力をプレビューする方法について説明します。

Dataform のクエリのプレビューについて

Dataform コアを使用して SQLX ファイルまたは JavaScript ファイルでクエリを開発すると、Dataform はクエリをリアルタイムで SQL にコンパイルします。コンパイルされた SQL クエリの出力を BigQuery で実行する前にテストするには、Dataform ワークスペースでクエリのプレビューを実行します。

クエリのプレビューを実行すると、Dataform は BigQuery でジョブを実行し、コンパイルされたクエリを一時的な宛先テーブルで実行して、ワークスペースにクエリ結果を表示します。実行をトリガーしてテーブルを BigQuery に公開する前に、クエリの出力を検査できます。プレビューしたクエリを含む一時テーブルは、最大 24 時間後に自動的に削除されます。BigQuery ジョブの詳細については、BigQuery ジョブの概要をご覧ください。

Dataform でクエリ プレビューを実行すると、BigQuery で料金が発生します。BigQuery の料金の詳細については、BigQuery の料金をご覧ください。

クエリのプレビュー中、Dataform はユーザーの認証情報を使用して BigQuery でジョブを実行します。ただし、ワークフローの実行中に、Dataform はサービス アカウントの認証情報を使用して、BigQuery でアセットを作成または更新します。

Dataform は、現在のブラウザ セッション中にプレビューしたすべてのクエリの結果をワークスペースの [クエリ結果] パネルに表示します。[クエリ結果] パネルでは、現在のブラウザ セッションでプレビューされた各クエリに関する次の情報を表示できます。

  • ジョブ情報
    • BigQuery ジョブ ID
    • プレビューを実行しているユーザー
    • ジョブが実行される場所。ワークフロー設定ファイルから取得
    • BigQuery ジョブの作成時間、開始時間、終了時間
    • BigQuery ジョブの所要時間
    • 処理されたバイト数
    • BigQuery で課金されるバイト数
    • ジョブの優先度
    • クエリでのレガシー SQL の使用
    • クエリの一時的な宛先テーブル
  • クエリの結果
  • クエリ出力の JSON 表現

また、[クエリ結果] パネルで、プレビューした各クエリのソースファイルに移動したり、BigQuery Studio に移動してプレビュー ジョブを表示したりできます。

始める前に

  1. Google Cloud コンソールの [Dataform] ページに移動します。

    [Dataform] ページに移動

  2. リポジトリを作成または選択します。

  3. 開発ワークスペースを作成または選択します。

  4. SQL クエリを作成します(テーブルを定義するなど)。

必要なロール

クエリのプレビューに必要な権限を取得するには、プロジェクトに対して次の IAM ロールを付与するよう管理者に依頼してください。

  • Dataform 編集者(roles/dataform.editor)- ワークスペース
  • BigQuery ジョブユーザー(roles/bigquery.jobUser) - プロジェクト

ロールの付与の詳細については、アクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

クエリをプレビューする

実行前に Dataform でクエリ結果を検査するには、ワークスペースでクエリのプレビューを実行します。現在編集中のファイルに複数のクエリが含まれている場合は、プレビューするクエリを選択します。一度にプレビューできるクエリは 1 つだけです。

アサーションのあるテーブルでは、プレビューの実行が少し異なります。詳細については、アサーションを使用してテーブルをプレビューするをご覧ください。

Dataform ワークスペースで SQL クエリをプレビューし、クエリ結果を表示するには、次の手順に沿って操作します。

  1. [ファイル] ペインで definitions/ を展開します。
  2. SQLX ファイルまたは JavaScript ファイルを選択します。
  3. [実行] をクリックします。
    1. ファイルに複数のクエリが含まれている場合は、プルダウンでプレビューするクエリを選択します。
  4. [クエリ結果] パネルでプレビューの結果を確認します。
    1. ジョブの詳細を調べるには、[ジョブ情報] タブを選択します。
    2. クエリ結果を調べるには、[結果] タブを選択します。
    3. クエリの JSON 出力を表示するには、[JSON] タブを選択します。
    4. SQL ワークスペースでプレビュー ジョブを表示するには、[その他] メニュー > [SQL ワークスペースでジョブを表示] をクリックします。

アサーションを含むテーブルをプレビューする

アサーションが含まれる SQLX テーブル定義ファイルでは、テーブル作成クエリと定義済みアサーションがプレビューできます。

Dataform は、テーブル定義クエリをデフォルト クエリとして扱います。テーブル作成クエリをプレビューするには、ワークスペースで [実行] をクリックします。アサーション クエリをプレビューするには、[実行] ボタンの横にあるプルダウンでクエリを選択する必要があります。一度にプレビューできるクエリは 1 つだけです。

Dataform ワークスペースでアサーションを含むテーブル定義ファイル内のクエリをプレビューする手順は次のとおりです。

  1. [ファイル] ペインで [definitions/] を展開します。
  2. アサーションが含まれるテーブルの定義ファイルを選択します。
  3. プレビューを実行。
    • テーブル作成クエリをプレビューするには、[実行] をクリックします。
    • アサーション クエリをプレビューするには、[実行] の横にあるプルダウン アイコンをクリックし、プレビューするクエリを選択します。
  4. [クエリ結果] ペインでプレビューの結果を確認します。
    1. ジョブの詳細を調べるには、[ジョブ情報] タブを選択します。
    2. クエリ結果を調べるには、[結果] タブを選択します。
    3. クエリの JSON 出力を表示するには、[JSON] タブを選択します。
    4. SQL ワークスペースでプレビュー ジョブを表示するには、 [その他] メニュー > [SQL ワークスペースでジョブを表示] をクリックします。

次のステップ