パイプラインを作成する
このドキュメントでは、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
(
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, 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.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, 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.enable
permission. Learn how to grant roles. - パイプラインを作成する: コード作成者(
roles/dataform.codeCreator
) - パイプラインを編集して実行する: Dataform 編集者(
roles/dataform.editor
) [BigQuery] ページに移動します。
[エクスプローラ] ペインで、コードアセットを有効にしたプロジェクトを見つけます。
プロジェクトの横にある
(アクションを表示)をクリックし、[デフォルトのコード リージョンを変更] をクリックします。[リージョン] で、コードアセットに使用するリージョンを選択します。
[選択] をクリックします。
[BigQuery] ページに移動します。
エディタペインのタブバーで、+ 記号の横にある
矢印をクリックし、[パイプライン] をクリックします。省略可: パイプラインの名前を変更するには、パイプライン名をクリックして新しい名前を入力します。
[使ってみる] をクリックし、[設定] タブに移動します。
[認証] セクションで、Google アカウントのユーザー認証情報またはサービス アカウントを使用してパイプラインを承認します。
- Google アカウントのユーザー認証情報(プレビュー)を使用するには、[自分のユーザー認証情報で実行] を選択します。
- サービス アカウントを使用するには、[選択したサービス アカウントで実行] を選択し、サービス アカウントを選択します。
[処理を行うロケーション] セクションで、パイプラインの処理ロケーションを選択します。
ロケーションの自動選択を有効にするには、[自動ロケーション選択] を選択します。このオプションは、リクエストで参照されるデータセットに基づいてロケーションを選択します。選択プロセスは次のとおりです。
- クエリが同じロケーションのデータセットを参照している場合、BigQuery はそのロケーションを使用します。
- クエリが 2 つ以上の異なるロケーションのデータセットを参照している場合、エラーが発生します。この制限の詳細については、クロスリージョン データセット レプリケーションをご覧ください。
- クエリがデータセットを参照していない場合、BigQuery はデフォルトで
US
マルチリージョンを使用します。
特定のリージョンを選択するには、[リージョン] を選択し、[リージョン] メニューでリージョンを選択します。または、クエリで
@@location
システム変数を使用することもできます。詳細については、ロケーションを指定するをご覧ください。マルチリージョンを選択するには、[マルチリージョン] を選択してから、[マルチリージョン] メニューでマルチリージョンを選択します。
パイプラインの処理ロケーションは、コードアセットのデフォルトのストレージ ロケーションと一致する必要はありません。
パイプラインにノートブックを追加する場合は、[ノートブックのオプション] セクションで次の操作を行います。
[ランタイム テンプレート] フィールドで、デフォルトのノートブック ランタイムをそのまま使用するか、既存のランタイムを検索して選択します。
- デフォルトのランタイムの仕様を表示するには、隣接する矢印をクリックします。
- 新しいランタイムを作成するには、ランタイム テンプレートを作成するをご覧ください。
[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 キーを押します。
[保存] をクリックします。
省略可: データ準備の名前を変更するには、パイプライン パネルでデータ準備の名前をクリックし、[データ準備を編集] をクリックして、画面上部の名前をクリックし、新しい名前を入力します。
既存のデータ準備をインポートする
[データ準備を編集] の横にある
矢印プルダウン メニューをクリックし、[コピーをインポート] をクリックします。インポートする既存のデータ準備を検索するか、検索ペインから既存のデータ準備を選択します。データ準備をインポートすると、データ準備のソースファイルがパイプラインにコピーされるため、元のファイルは変更されません。
インポートしたデータ準備を開くには、[編集] をクリックします。
[保存] をクリックします。
テーブル
[タスクを追加] をクリックし、[表] を選択します。
テーブルの名前を入力します。
[テーブルタスクの詳細] ペインで、[開く] をクリックしてタスクを開きます。
タスクを構成するには、[Details> Configuration] の設定を使用するか、テーブルのコードエディタの
config
ブロックを使用します。メタデータの変更には、[構成] タブを使用します。このタブでは、コードエディタから
config
ブロック内の特定の値を編集できます。たとえば、JavaScript オブジェクトのようにフォーマットされた文字列や配列などです。このタブを使用すると、構文エラーを回避し、設定が正しいことを確認できます。省略可: [次の後に実行] メニューで、テーブルの前に実行するタスクを選択します。
エディタの
config
ブロックで、パイプライン タスクのメタデータを定義することもできます。詳細については、テーブルの作成をご覧ください。エディタはコードを検証し、検証ステータスを表示します。
[詳細 > コンパイル済みクエリ] で、SQLX コードからコンパイルされた SQL を確認します。
[実行] をクリックして、パイプラインで SQL を実行します。
[クエリ結果] で、データ プレビューを確認します。
表示
[タスクを追加] をクリックし、[ビュー] を選択します。
ビューの名前を入力します。
[タスクの詳細を表示] ペインで、[開く] をクリックしてタスクを開きます。
タスクを構成するには、[Details> Configuration] の設定を使用するか、ビューのコードエディタの
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 のロケーションをご覧ください。
パイプラインを作成する
パイプラインを作成するには、次の操作を行います。
ノートブックのオプション
パイプライン タスクを追加する
パイプラインにタスクを追加するには、次の操作を行います。
パイプライン タスクを編集する
パイプラインのタスクを編集するには、次の操作を行います。
パイプライン タスクを削除する
パイプラインのタスクを削除するには、次の操作を行います。
パイプラインを共有する
パイプラインを共有するには、次の操作を行います。
パイプラインへのリンクを共有する
パイプラインを実行する
パイプラインの現在のバージョンを手動で実行するには、次の操作を行います。
Google アカウントを認可する
Google アカウントのユーザー認証情報でリソースを認証するには、BigQuery パイプラインが Google アカウントのアクセス トークンを取得し、ユーザーに代わってソースデータにアクセスするための権限を手動で付与する必要があります。OAuth ダイアログ インターフェースで、手動で承認できます。
BigQuery パイプラインに権限を付与する必要があるのは 1 回のみです。
付与した権限を取り消すには、次の手順に沿って操作します。
パイプラインにノートブックが含まれている場合は、Colab Enterprise が Google アカウントのアクセス トークンを取得し、ユーザーに代わってソースデータにアクセスできるように、手動で権限を付与する必要があります。権限を付与する必要があるのは 1 回のみです。この権限は、Google アカウントのページで取り消すことが可能です。