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

このクイックスタートでは、Dataform でワークフローを作成して BigQuery で実行する次の手順について説明します。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 必要なロール

    Dataform でワークフローを作成して実行するために必要な権限を取得するには、Dataform リポジトリをホストするプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

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

    Dataform リポジトリを作成する

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

      Dataform に移動

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

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

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

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

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

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

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

      Dataform に移動

    2. [quickstart-repository] をクリックします。

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

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

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

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

      開発ワークスペース ページが表示されます。

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

    ビューを作成する

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

    ビューを定義する SQLX ファイルを作成する

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

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

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

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

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

    ビューを定義する

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

    2. [definitions/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 ファイルでテーブルタイプを定義し、その後、同じファイル内でテーブルの構造を定義する SELECT ステートメントを記述します。

    テーブル定義用の SQLX ファイルを作成する

    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
      
    3. [書式] をクリックします。

    テーブルタイプを定義した後に Dataform を実行すると、BigQuery に quickstart-source がまだ存在しないため、クエリ検証エラーがスローされます。このエラーは、このチュートリアルの後半でワークフローを実行するときに解決されます。

    BigQuery でワークフローを実行する

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

      Dataform に移動

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

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

    4. [実行を開始] をクリックします。

    5. 開いたダイアログで [許可] をクリックして、BigQuery Pipelines に Google アカウントへのアクセス権を付与します。

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

    Dataform で実行ログを表示します。

    1. quickstart-repository ページで、[ワークフローの実行ログ] をクリックします。

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

    クリーンアップ

    このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。

    BigQuery で作成したデータセットを削除する

    BigQuery アセットの料金が発生しないようにするには、dataform というデータセットを削除します。

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

      BigQuery に移動

    2. [エクスプローラ] パネルでプロジェクトを開き、[dataform] を選択します。

    3. [アクション] メニューをクリックして、[削除] を選択します。

    4. [データセットを削除する] ダイアログで、フィールドに「delete」と入力してから、[削除] をクリックします。

    Dataform 開発ワークスペースを削除する

    Dataform 開発ワークスペースの作成に費用はかかりませんが、開発ワークスペースを削除するには、次の手順に沿って操作します。

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

      Dataform に移動

    2. [quickstart-repository] をクリックします。

    3. [開発ワークスペース] タブで、quickstart-workspace によって [その他] メニューをクリックし、[削除] を選択します。

    4. [削除] をクリックして確定します。

    Dataform リポジトリの削除

    Dataform リポジトリの作成に費用はかかりませんが、リポジトリを削除する手順は次のとおりです。

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

      Dataform に移動

    2. quickstart-repository から、[その他] メニューをクリックし、[削除] を選択します。

    3. [リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。

    4. [削除] をクリックして確定します。

    次のステップ