パイプラインを作成する
このドキュメントでは、BigQuery でパイプラインを作成する方法について説明します。パイプラインは Dataform を使用します。
始める前に
- 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Dataform, and Vertex AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the BigQuery, Dataform, and Vertex AI APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - パイプラインを作成する: コード作成者(
roles/dataform.codeCreator) - パイプラインを編集して実行する: Dataform 編集者(
roles/dataform.editor) [BigQuery] ページに移動します。
[エクスプローラ] ペインで、コードアセットを有効にしたプロジェクトを見つけます。
プロジェクトの横にある (アクションを表示)をクリックし、[デフォルトのコード リージョンを変更] をクリックします。
[リージョン] で、コードアセットに使用するリージョンを選択します。
[選択] をクリックします。
[BigQuery] ページに移動します。
エディタペインのタブバーで、+ 記号の横にある 矢印をクリックし、[パイプライン] をクリックします。
省略可: パイプラインの名前を変更するには、パイプライン名をクリックして新しい名前を入力します。
[使ってみる] をクリックし、[設定] タブに移動します。
[認証] セクションで、Google アカウントのユーザー認証情報またはサービス アカウントを使用してパイプラインを承認します。
- Google アカウントのユーザー認証情報(プレビュー)を使用するには、[自分のユーザー認証情報で実行] を選択します。
- サービス アカウントを使用するには、[選択したサービス アカウントで実行] を選択し、サービス アカウントを選択します。
[処理を行うロケーション] セクションで、パイプラインを処理するロケーションを選択します。
ロケーションの自動選択を有効にするには、[自動ロケーション選択] を選択します。このオプションは、リクエストで参照されるデータセットに基づいてロケーションを選択します。選択プロセスは次のとおりです。
- クエリが同じロケーションのデータセットを参照している場合、BigQuery はそのロケーションを使用します。
- クエリが 2 つ以上の異なるロケーションのデータセットを参照している場合、エラーが発生します。この制限の詳細については、クロスリージョン データセット レプリケーションをご覧ください。
- クエリがデータセットを参照していない場合、BigQuery はデフォルトで
USマルチリージョンを使用します。
特定のリージョンを選択するには、[リージョン] を選択し、[リージョン] メニューでリージョンを選択します。または、クエリで
@@locationシステム変数を使用することもできます。詳細については、ロケーションを指定するをご覧ください。マルチリージョンを選択するには、[マルチリージョン] を選択してから、[マルチリージョン] メニューでマルチリージョンを選択します。
パイプラインの処理ロケーションは、コードアセットのデフォルトのストレージ ロケーションと一致する必要はありません。
[デフォルト プロジェクト] フィールドに、既存のGoogle Cloud プロジェクトの名前を入力します。この値は、
workflow_settings.yamlファイルのdefaultProjectとdataform.jsonファイルのdefaultDatabaseに使用されます。デフォルトのプロジェクトは、パイプライン タスクの実行時に使用されます。省略可: [デフォルトのデータセット] フィールドで、既存のデータセットを検索して選択します。使用可能なデータセットのリストは、選択したプロジェクトと処理ロケーションに基づいてフィルタリングされます。この値は、
workflow_settings.yamlファイルのdefaultDatasetに使用されます。デフォルトのデータセットは、パイプライン タスクの実行時に使用されます。[ランタイム テンプレート] フィールドで、デフォルトのノートブック ランタイムをそのまま使用するか、既存のランタイムを検索して選択します。
- デフォルトのランタイムの仕様を表示するには、隣接する矢印をクリックします。
- 新しいランタイムを作成するには、ランタイム テンプレートを作成するをご覧ください。
[Cloud Storage バケット] フィールドで、[参照] をクリックして、パイプラインにノートブックの出力を保存する Cloud Storage バケットを選択または作成します。
バケットレベルのポリシーにプリンシパルを追加するの手順に沿って、カスタム Dataform サービス アカウントをプリンシパルとして、スケジュール設定したパイプライン実行の出力を保存するために使用する Cloud Storage バケットに追加し、このプリンシパルにストレージ管理者ロール(
roles/storage.admin)を付与します。選択したカスタム Dataform サービス アカウントには、選択したバケットに対するストレージ管理者の IAM ロールを付与する必要があります。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。
[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
コードアセットを追加するには、次のいずれかのオプションを選択します。
SQL クエリ
[タスクを追加] をクリックしてから、[クエリ] を選択します。 新しいクエリを作成することも、既存のクエリをインポートすることもできます。
省略可: [Query task details] ペインの [次の後に実行] メニューで、クエリの前に実行するタスクを選択します。
新規クエリを作成する
[クエリを編集] の横にある 矢印メニューをクリックし、[コンテキスト内] または [新しいタブ] を選択します。
既存のクエリを検索します。
クエリ名を選択して Enter キーを押します。
[保存] をクリックします。
省略可: クエリの名前を変更するには、パイプライン ペインでクエリ名をクリックし、[クエリを編集] をクリックして、画面上部の既存のクエリ名をクリックし、新しい名前を入力します。
既存のクエリをインポートする
[クエリを編集] の横にある 矢印メニューをクリックし、[コピーをインポート] をクリックします。
インポートする既存のクエリを検索するか、検索ペインから既存のクエリを選択します。クエリをインポートすると、クエリのソースファイルがパイプラインにコピーされるため、元のクエリは変更されません。
[編集] をクリックして、インポートしたクエリを開きます。
[保存] をクリックします。
ノートブック
[タスクを追加] をクリックし、[ノートブック] を選択します。 新しいノートブックを作成することも、既存のノートブックをインポートすることもできます。ノートブックのランタイム テンプレートの設定を変更するには、ノートブックのオプションをご覧ください。
省略可: [Notebook task details] ペインの [次の後に実行] メニューで、ノートブックの前に実行するタスクを選択します。
新しいノートブックを作成する
[ノートブックを編集] の横にある 矢印メニューをクリックし、[コンテキスト内] または [新しいタブ] を選択します。
既存のノートブックを検索します。
ノートブック名を選択して Enter キーを押します。
[保存] をクリックします。
省略可: ノートブックの名前を変更するには、パイプライン ペインでノートブック名をクリックし、[ノートブックを編集] をクリックして、画面上部の既存のノートブック名をクリックし、新しい名前を入力します。
既存のノートブックをインポートする
[ノートブックを編集] の横にある 矢印メニューをクリックし、[コピーをインポート] をクリックします。
インポートする既存のノートブックを検索するか、検索ペインから既存のノートブックを選択します。ノートブックをインポートすると、ノートブックのソースファイルがパイプラインにコピーされるため、元のファイルは変更されません。
インポートしたノートブックを開くには、[編集] をクリックします。
[保存] をクリックします。
データの準備
[タスクを追加] をクリックし、[データ準備] を選択します。新しいデータ準備を作成することも、既存のデータ準備をインポートすることもできます。
省略可: [Data preparation task details] ペインの [次の後に実行] メニューで、データ準備の前に実行するタスクを選択します。
新しいデータ準備を作成する
[データ準備を編集] の横にある 矢印メニューをクリックし、[コンテキスト内] または [新しいタブ] を選択します。
既存のデータ準備を検索します。
データ準備の名前を選択して Enter キーを押します。
[保存] をクリックします。
省略可: データ準備の名前を変更するには、パイプライン パネルでデータ準備の名前をクリックし、[データ準備を編集] をクリックして、画面上部の名前をクリックし、新しい名前を入力します。
既存のデータ準備をインポートする
[データ準備を編集] の横にある 矢印プルダウン メニューをクリックし、[コピーをインポート] をクリックします。
インポートする既存のデータ準備を検索するか、検索ペインから既存のデータ準備を選択します。データ準備をインポートすると、データ準備のソースファイルがパイプラインにコピーされるため、元のファイルは変更されません。
インポートしたデータ準備を開くには、[編集] をクリックします。
[保存] をクリックします。
テーブル
[タスクを追加] をクリックし、[テーブル] を選択します。
[新規作成] ペインで、[テーブル] または [増分テーブル] を選択します。
テーブルのデフォルト プロジェクトを確認するか、新しいプロジェクトを選択します。
テーブルのデフォルトのデータセットを確認するか、新しいデータセットを選択します。
テーブルの名前を入力します。
[Table task details] ペインで、[開く] をクリックしてタスクを開きます。
タスクを構成するには、[詳細] > [構成] の設定を使用するか、テーブルのコードエディタの
configブロックを使用します。メタデータの変更には、[構成] タブを使用します。このタブでは、コードエディタから
configブロック内の特定の値を編集できます。たとえば、JavaScript オブジェクトのように書式設定された文字列や配列などです。このタブを使用すると、構文エラーを回避し、設定が正しいことを確認できます。省略可: [次の後に実行] メニューで、テーブルの前に実行するタスクを選択します。
エディタの
configブロックで、パイプライン タスクのメタデータを定義することもできます。詳細については、テーブルの作成をご覧ください。エディタはコードを検証し、検証ステータスを表示します。
[詳細] > [コンパイル済みクエリ] で、SQLX コードからコンパイルされた SQL を確認します。
[実行] をクリックして、パイプラインで SQL を実行します。
[クエリ結果] で、データ プレビューを確認します。
表示
[タスクを追加] をクリックし、[ビュー] を選択します。
[新規作成] ペインで、[ビュー] または [マテリアライズド ビュー] を選択します。
ビューのデフォルト プロジェクトを確認するか、新しいプロジェクトを選択します。
ビューのデフォルトのデータセットを確認するか、新しいデータセットを選択します。
ビューに名前を設定します。
[タスクの詳細を表示] ペインで、[開く] をクリックしてタスクを開きます。
タスクを構成するには、[詳細] > [構成] の設定を使用するか、ビューのコードエディタの
configブロックを使用します。メタデータの変更には、[構成] タブを使用します。このタブでは、コードエディタから
configブロック内の特定の値を編集できます。たとえば、JavaScript オブジェクトのように書式設定された文字列や配列などです。このタブを使用すると、構文エラーを回避し、設定が正しいことを確認できます。省略可: [次の後に実行] メニューで、ビューの前に実行するタスクを選択します。
エディタの
configブロックで、パイプライン タスクのメタデータを定義することもできます。詳細については、Dataform コアを使用してビューを作成するをご覧ください。エディタはコードを検証し、検証ステータスを表示します。
[詳細] > [コンパイル済みクエリ] で、SQLX コードからコンパイルされた SQL を確認します。
[実行] をクリックして、パイプラインで SQL を実行します。
[クエリ結果] で、データ プレビューを確認します。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
選択したタスクをクリックします。
前のタスクを変更するには、[次の後に実行] メニューで、タスクの前に実行するタスクを選択します。
選択したタスクの内容を編集するには、[編集] をクリックします。
開いた新しいタブでタスクの内容を編集し、タスクの変更を保存します。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
選択したタスクをクリックします。
[タスクの詳細] ペインで、削除削除アイコンをクリックします。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
[共有] をクリックし、[権限を管理] を選択します。
[ユーザー / グループを追加] をクリックします。
[新しいプリンシパル] フィールドに、少なくとも 1 人のユーザーまたはグループの名前を入力します。
[ロールを割り当てる] でロールを選択します。
[保存] をクリックします。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
[共有] をクリックし、[リンクを共有] を選択します。パイプラインの URL がパソコンのクリップボードにコピーされます。
Google Cloud コンソールで、[BigQuery] ページに移動します。
左側のペインで、 エクスプローラをクリックします。

[エクスプローラ] ペインで、プロジェクトを開き、[パイプライン] をクリックして、パイプラインを選択します。
[実行] をクリックします。認証に [自分のユーザー認証情報で実行] を選択した場合は、Google アカウントを認可する必要があります(プレビュー)。
省略可: 実行を検査するには、過去の手動実行を表示します。
- Google アカウント ページにアクセスします。
- [BigQuery パイプライン] をクリックします。
- [アクセス権を削除] をクリックします。
- BigQuery パイプラインの詳細を確認する。
- パイプラインの管理方法を学ぶ。
- パイプラインのスケジュール設定方法を学ぶ。
パイプラインに必要なロール
パイプラインの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Dataform IAM の詳細については、IAM によるアクセス制御をご覧ください。
ノートブックのオプションに必要なロール
ノートブックのオプションでランタイム テンプレートを選択するために必要な権限を取得するには、プロジェクトに対するノートブック ランタイム ユーザー(roles/aiplatform.notebookRuntimeUser)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
このロールがない場合は、デフォルトのノートブック ランタイム仕様を選択できます。
コードアセットにデフォルトのリージョンを設定する
コードアセットを初めて作成する場合は、コードアセットのデフォルト リージョンを設定する必要があります。コードアセットのリージョンを作成後に変更することはできません。
BigQuery Studio のすべてのコードアセットは同じデフォルト リージョンを使用します。コードアセットのデフォルト リージョンを設定する手順は次のとおりです。
サポートされているリージョンの一覧については、BigQuery Studio のロケーションをご覧ください。
パイプラインを作成する
パイプラインを作成するには、次の操作を行います。
SQLX オプション
パイプラインに対して SQLX 設定を構成するには、[SQLX オプション] セクションで次の操作を行います。
ノートブックのオプション
パイプラインにノートブックを追加するには、[ノートブックのオプション] セクションで次の操作を行います。
パイプライン タスクを追加する
パイプラインにタスクを追加するには、次の操作を行います。
パイプライン タスクを編集する
パイプラインのタスクを編集するには、次の操作を行います。
パイプライン タスクを削除する
パイプラインのタスクを削除するには、次の操作を行います。
パイプラインを共有する
パイプラインを共有するには、次の操作を行います。
パイプラインへのリンクを共有する
パイプラインを実行する
パイプラインの現在のバージョンを手動で実行するには、次の操作を行います。
Google アカウントを認可する
Google アカウントのユーザー認証情報でリソースを認証するには、BigQuery パイプラインが Google アカウントのアクセス トークンを取得し、ユーザーに代わってソースデータにアクセスするための権限を手動で付与する必要があります。OAuth ダイアログ インターフェースで、手動で承認できます。
BigQuery パイプラインに権限を付与する必要があるのは 1 回のみです。
付与した権限を取り消すには、次の手順に沿って操作します。
パイプラインにノートブックが含まれている場合は、Colab Enterprise が Google アカウントのアクセス トークンを取得し、ユーザーに代わってソースデータにアクセスできるように、手動で権限を付与する必要があります。権限を付与する必要があるのは 1 回のみです。この権限は、Google アカウントのページで取り消すことが可能です。