Dataform でワークフローを作成して実行する
このクイックスタートでは、Dataform でワークフローを作成して BigQuery で実行する次の手順について説明します。
始める前に
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
リポジトリ、ワークスペース、ワークフロー呼び出しを作成して管理する: Dataform 管理者 (
roles/dataform.admin
) -
BigQuery でワークフローを実行する:
-
BigQuery データ編集者(
roles/bigquery.dataEditor
) -
BigQuery ジョブユーザー(
roles/bigquery.jobUser
)
-
BigQuery データ編集者(
Google Cloud コンソールで、[Dataform] ページに移動します。
[リポジトリを作成] をクリックします。
[リポジトリの作成] ページで、次の操作を行います。
[リポジトリ ID] フィールドに「
quickstart-repository
」と入力します。[リージョン] リストで
europe-west4
を選択します。[作成] をクリックします。
Google Cloud コンソールで、[Dataform] ページに移動します。
[
quickstart-repository
] をクリックします。[開発ワークスペースを作成] をクリックします。
[開発ワークスペースを作成] ウィンドウで、次の操作を行います。
[ワークスペース ID] フィールドに「
quickstart-workspace
」と入力します。[作成] をクリックします。
開発ワークスペース ページが表示されます。
[ワークスペースを初期化] をクリックします。
[ファイル] ペインで、
definitions/
の横にある [その他] メニューをクリックします。[ファイルを作成] をクリックします。
[新しいファイルを作成] ペインで、次の操作を行います。
[ファイルパスを追加] フィールドに「
definitions/quickstart-source.sqlx
」と入力します。[ファイルを作成] をクリックします。
[ファイル] ペインで「definitions」フォルダを展開します。
[
definitions/quickstart-source.sqlx
] をクリックします。このファイルに次のコード スニペットを入力します。
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
[書式] をクリックします。
[ファイル] パネルで、
definitions/
の横にある [その他] メニューをクリックして、[ファイルの作成] を選択します。[ファイルパスを追加] フィールドに「
definitions/quickstart-table.sqlx
」と入力します。[ファイルを作成] をクリックします。
[ファイル] ペインで「
definitions/
」ディレクトリを展開します。quickstart-table.sqlx
を選択し、次のテーブルタイプとSELECT
ステートメントを入力します。config { type: "table" } SELECT fruit, SUM(count) as count FROM ${ref("quickstart-source")} GROUP BY 1
[書式] をクリックします。
Google Cloud コンソールで、[Dataform] ページに移動します。
quickstart-workspace
ページで、[実行を開始] をクリックします。[すべてのアクション] をクリックします。
[実行を開始] をクリックします。
開いたダイアログで [許可] をクリックして、BigQuery Pipelines に Google アカウントへのアクセス権を付与します。
Dataform はデフォルトのリポジトリ設定を使用して、ワークフローの内容を
dataform
という BigQuery データセット内に作成します。quickstart-repository
ページで、[ワークフローの実行ログ] をクリックします。実行の詳細を表示するには、最新の実行をクリックします。
Google Cloud コンソールで、[BigQuery] ページに移動します。
[エクスプローラ] パネルでプロジェクトを開き、[
dataform
] を選択します。[アクション] メニューをクリックして、[削除] を選択します。
[データセットを削除する] ダイアログで、フィールドに「
delete
」と入力してから、[削除] をクリックします。Google Cloud コンソールで、[Dataform] ページに移動します。
[
quickstart-repository
] をクリックします。[開発ワークスペース] タブで、
quickstart-workspace
によって [その他] メニューをクリックし、[削除] を選択します。[削除] をクリックして確定します。
Google Cloud コンソールで、[Dataform] ページに移動します。
quickstart-repository
から、 [その他] メニューをクリックし、[削除] を選択します。[リポジトリの削除] ウィンドウで、リポジトリの名前を入力して削除を確定します。
[削除] をクリックして確定します。
Dataform の詳細については、Dataform の概要をご覧ください。
Dataform の機能の詳細については、Dataform の機能をご覧ください。
Dataform コアの詳細については、Dataform コアの概要をご覧ください。
リポジトリのデフォルトの Dataform ワークフロー設定をオーバーライドする方法については、[Dataform を構成] の設定をご覧ください。
BigQuery でのデータセットの管理の詳細については、データセットの管理をご覧ください。
BigQuery でのテーブルの管理の詳細については、テーブルを管理するをご覧ください。
必要なロール
Dataform でワークフローを作成して実行するために必要な権限を取得するには、Dataform リポジトリをホストするプロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Dataform リポジトリを作成する
Dataform 開発ワークスペースを作成して初期化する
ビューを作成する
以降のセクションでは、後でテーブルのデータソースとして使用するビューを定義します。
ビューを定義する SQLX ファイルを作成する
ビューを定義する
テーブルを作成する
以降のセクションでは、SQLX ファイルでテーブルタイプを定義し、その後、同じファイル内でテーブルの構造を定義する SELECT
ステートメントを記述します。
テーブル定義用の SQLX ファイルを作成する
テーブルのタイプ、構造、依存関係を定義する
テーブルタイプを定義した後に Dataform を実行すると、BigQuery に quickstart-source
がまだ存在しないため、クエリ検証エラーがスローされます。このエラーは、このチュートリアルの後半でワークフローを実行するときに解決されます。
BigQuery でワークフローを実行する
Dataform で実行ログを表示します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
BigQuery で作成したデータセットを削除する
BigQuery アセットの料金が発生しないようにするには、dataform
というデータセットを削除します。
Dataform 開発ワークスペースを削除する
Dataform 開発ワークスペースの作成に費用はかかりませんが、開発ワークスペースを削除するには、次の手順に沿って操作します。
Dataform リポジトリの削除
Dataform リポジトリの作成に費用はかかりませんが、リポジトリを削除する手順は次のとおりです。