arrow_back

Dataform で SQL ワークフローを作成して実行する

ログイン 参加
700 以上のラボとコースにアクセス

Dataform で SQL ワークフローを作成して実行する

ラボ 1時間 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

概要

このラボでは、Dataform で SQL ワークフローを作成して実行し、BigQuery にデータを読み込む手順を説明します。

学習目標

  1. Dataform リポジトリを作成する
  2. Dataform 開発ワークスペースを作成して初期化する
  3. SQL ワークフローを作成して実行する
  4. Dataform で実行ログを表示する

設定

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. Qwiklabs にシークレット ウィンドウでログインします。

  2. ラボのアクセス時間(例: 1:15:00)に注意し、時間内に完了できるようにしてください。
    一時停止機能はありません。必要な場合はやり直せますが、最初からになります。

  3. 準備ができたら、[ラボを開始] をクリックします。

  4. ラボの認証情報(ユーザー名パスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。

  5. [Google Console を開く] をクリックします。

  6. [別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
    他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。

  7. 利用規約に同意し、再設定用のリソースページをスキップします。

タスク 1. Dataform リポジトリを作成する

  1. コンソールでナビゲーション メニューを展開し、[BigQuery] > [Dataform] を選択します。

  2. [リポジトリを作成] をクリックします。

  3. [リポジトリの作成] ページで、次の操作を行います。

    1. [リポジトリ ID] フィールドに「quickstart-repository」と入力します。

    2. [リージョン] リストで [] を選択します。

    3. [作成] をクリックします。

    4. リポジトリが作成されると、Dataform のサービス アカウントが表示されます。後で必要な権限を割り当てるときのために、このサービス アカウントを控えておいてください。

    5. [リポジトリに移動] をクリックします。

注: API リクエストに関する権限拒否エラーが発生した場合は、数分待ってからリポジトリを再作成してください。

完了したタスクをテストする

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

Dataform リポジトリを作成する。

タスク 2. Dataform 開発ワークスペースを作成して初期化する

  1. [Dataform] ページで、先ほど作成した quickstart-repository リポジトリをクリックします。

  2. [開発ワークスペースを作成] をクリックします。

  3. [開発ワークスペースを作成] ウィンドウで、次の操作を行います。

    1. [ワークスペース ID] フィールドに「quickstart-workspace」と入力します。

    2. [作成] をクリックします。

  4. 作成された quickstart-workspace 開発ワークスペースをクリックします。

  5. [ワークスペースを初期化] をクリックします。

完了したタスクをテストする

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

Dataform ワークスペースを作成する。

タスク 3. ビューを定義する SQLX ファイルを作成する

このセクションでは、後でテーブルのデータソースとして使用するビューを定義します。

  1. [ファイル] ペインで、「definitions」の横にある [その他] メニューをクリックします。

  2. [ファイルを作成] をクリックします。

  3. [新しいファイルを作成] ペインで、次の操作を行います。

    1. [ファイルパスを追加] フィールドに「definitions/quickstart-source.sqlx」と入力します。

    2. [ファイルを作成] をクリックします。

ビューを定義する

  1. [ファイル] ペインで「definitions」フォルダを展開します。

  2. quickstart-source.sqlx」をクリックします。

  3. このファイルに次のコード スニペットを入力します。

    config { type: "view" } SELECT "apples" AS fruit, 2 AS count UNION ALL SELECT "oranges" AS fruit, 5 AS count UNION ALL SELECT "pears" AS fruit, 1 AS count UNION ALL SELECT "bananas" AS fruit, 0 AS count

タスク 4. テーブル定義用の SQLX ファイルを作成する

以降のセクションでは、SQLX ファイルでテーブルタイプを定義し、その後、同じファイル内でテーブルの構造を定義する SELECT ステートメントを記述します。

  1. [ファイル] ペインで、「definitions」の横にある [その他] メニューをクリックして、[ファイルを作成] を選択します。

  2. [ファイルパスを追加] フィールドに「definitions/quickstart-table.sqlx」と入力します。

  3. [ファイルを作成] をクリックします。

テーブルのタイプ、構造、依存関係を定義する

  1. [ファイル] ペインで「definitions」ディレクトリを展開します。

  2. quickstart-table.sqlx」を選択して、次のテーブルタイプと SELECT ステートメントを入力します。

    config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
注: コンパイルされたクエリのセクションにエラー メッセージが表示されることがあります。このメッセージは無視して、ワークフローの実行を進めてください。

タスク 5. Dataform に BigQuery へのアクセス権を付与する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[IAM と管理] > [IAM] を選択します。

  2. [プリンシパル別に表示] をクリックします。続けて、[アクセスを許可] をクリックします。

  3. [新しいプリンシパル] フィールドに、Dataform サービス アカウント ID を入力します。

  4. [ロールを選択] プルダウン リストで、[BigQuery ジョブユーザー] ロールを選択します。

  5. [別のロールを追加] をクリックし、[ロールを選択] プルダウン リストで [BigQuery データ編集者] ロールを選択します。

  6. [別のロールを追加] をクリックし、[ロールを選択] プルダウン リストで [BigQuery データ閲覧者] ロールを選択します。

  7. [保存] をクリックします。

完了したタスクをテストする

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

Dataform に BigQuery へのアクセス権を付与する。

タスク 6. ワークフローを実行する

  1. コンソールで、ナビゲーション メニュー > [BigQuery] > [Dataform] に移動します。

  2. quickstart-repository をクリックしてリポジトリを開きます。

  3. quickstart-workspace をクリックして開発ワークスペースを開きます。

  4. quickstart-workspace ページで [実行を開始] をクリックします。

  5. [操作を実行] をクリックします。

  6. [すべてのアクション] タブをクリックします。

  7. [実行] ペインで [実行を開始] をクリックします。

    Dataform はデフォルトのリポジトリ設定を使用して、ワークフローの内容を dataform という BigQuery データセット内に作成します。

完了したタスクをテストする

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

SQL ワークフローを作成、実行する。

実行ログを表示する

  1. quickstart-workspace ページで、[実行履歴] をクリックして実行履歴ペインを開きます。

  2. 実行の詳細を表示するには、最新の実行をクリックします。

ラボを終了する

ラボでの学習が完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Qwiklabs から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバック、ご提案、修正が必要な箇所については、[サポート] タブからお知らせください。

Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。