【BigQuery】パイプライン入門:Dataform・スケジュールされたクエリとの違いと使い分け
2025年04月28日
ライター:春山 勇悟

BigQueryを活用する上で、データ処理の自動化は効率的なデータ分析基盤を構築するための重要な要素です。

Google Cloudには「Dataform」「スケジュールされたクエリ」、そして新しく登場した「BigQuery パイプライン」など、いくつかの自動化手段が用意されています。この記事では、「BigQuery パイプライン」について解説します。

Dataformについて詳しく知りたい方は、以下の弊社コラムも参考にしてください。

Dataform:Google CloudのSQLベースのデータ変換サービス

  1. BigQuery パイプラインとは?
  2. BigQuery パイプラインの使い方
  3. BigQuery パイプライン・Dataform・スケジュールされたクエリの比較
  4. まとめ

BigQuery パイプラインとは?

BigQuery パイプラインは、2025年4月に一般提供(GA)が始まった新機能です。クエリやノートブック、データの準備など、複数のBigQuery関連アセットを「ワークフロー」としてまとめ、スケジュール実行できるのが特徴です。

公式ヘルプ:BigQuery パイプラインの概要

この機能は、もともと「BigQuery Workflows」という名称でプレビュー提供されていましたが、正式リリースに伴い「BigQuery パイプライン」に名称が変更されました。

Dataformの技術を基盤としつつも、ユーザーはDataform特有のリポジトリ設定やSQLXの習得を求められず、より手軽に利用できます。

主な特徴

  1. 複数ステップ処理を柔軟に設計できる
    タスクの順序や依存関係を自由に設定できるので、複雑なワークフローも直感的に組み立てられます。
  2. さまざまなコードアセットをまとめて管理
    SQLクエリだけでなく、ノートブックやデータの準備なども1つのパイプラインにまとめられます。
  3. スケジュール設定が簡単
    パイプラインの設定から、実行頻度や時刻を簡単に設定できます。
  4. チームでの共有もシンプル
    IAM(Identity and Access Management)を使って、作成したパイプラインを他のユーザーやグループと手軽に共有できます。

BigQuery パイプラインの使い方

パイプラインの構築

BigQuery パイプラインは、Google Cloudコンソールのホーム画面から新規作成できます(下図の赤枠)。


最初にサービスアカウントの指定画面が表示されます。
サービスアカウントが必要ですが、ここでは一旦設定せず「開始」を選択して進めます(後から設定可能です)。

パイプラインの編集画面が開いたら、画面の左上でパイプライン名を入力できます。入力後、「タスクを追加」をクリックしましょう。タスクの種類として「クエリ」「ノートブック」「データの準備」の3つが選べます。ここでは「クエリ」を例に説明します。

※ノートブックやデータの準備については、公式ヘルプもご参照ください。

公式ヘルプ:ノートブックを管理する
公式ヘルプ:データ準備を管理する

「クエリ」を選ぶと、空のタスクが作成されます。タスクをクリックすると詳細画面が開き、依存関係の設定(後述)やクエリの編集が可能です。

「コピーをインポート」ボタンを使うと、既存のSQLクエリやノートブック、データの準備をそのままパイプラインのタスクとして複製できます。

コピー後は、パイプライン側のファイルはオリジナルとは別のものとして管理されるため、元のクエリを編集してもパイプライン側には反映されません。

「編集」を選択すると、SQLクエリの内容やタスク名を自由に変更できます。また、その場でクエリを実行して動作を検証することも可能です。

それでは、新たに別のタスク(クエリ)を作成してみましょう。

タスクが2つ以上ある場合は、「依存関係」を設定できます。依存関係とは、タスク1の処理が完了してからタスク2に進む、といった前後関係を作る機能です。

たとえば、タスク1で集計用のテーブルを作成し、タスク2でそのテーブルをもとにさらに処理を行う、といった流れを簡単に構築できます。

BigQuery パイプラインなら、こうした依存関係の設定も画面上で直感的に行えます。

パイプラインの設定

パイプラインの構築が終わったら、次は設定を行います。設定の変更は下図の赤枠からアクセスできます。

ランタイムオプションでは、パイプラインを実行するサービスアカウントを設定します。ここでは新しくサービスアカウントを作成してみましょう。

サービスアカウントに任意の名前や説明を入力して、「作成して続行」をクリックします。

作成したサービスアカウントには、必要な権限(BigQueryやCloud Storageなどへのアクセス権)を付与してください。

SQLクエリの実行であれば、「BigQuery ジョブユーザー」と「BigQuery データ編集者」の権限があれば、クエリの実行やテーブルの作成など一通りの作業が可能です。設定できたら「続行」をクリックします。

3番目の項目は省略して、そのまま「完了」をクリックしてください。これでサービスアカウントの設定は完了です。

パイプラインの設定画面に戻り、先ほど作成したサービスアカウントを選択しましょう。一覧に表示されない場合は、「更新」をクリックしてください。

次に、画面上に黄色の枠で権限付与の案内が表示されます。「すべて付与」を選択してください。

パイプラインは内部的にDataformを利用しています。この権限付与は、Dataformのサービスエージェントが、設定されたサービスアカウントを使って処理を実行できるようにするためのものです。

次に、SQLクエリが実行されるロケーションを選択します。

その他にもノートブックの詳細な設定なども可能ですが、本コラムでは割愛します。これでパイプラインの基本的な設定は完了です。

設定が終わったら、いよいよワークフローを実行できます。画面赤枠の「実行」ボタンをクリックして、パイプラインを動かしてみましょう。実行結果は、「実行数」から確認ができます。

ステータスを確認しましょう。ステータスが「成功」になっていれば設定は完了です。「失敗」と表示された場合は、各タスクの詳細画面からエラー内容を確認し、必要に応じて修正を行ってください。

スケジュール設定

最後に、パイプラインのスケジュールを設定します。スケジュール名や実行頻度などを入力し、内容に問題がなければ「スケジュールを作成」をクリックしてください。

作成したスケジュールは「スケジュールを見る」からいつでも編集できます。

パイプラインのスケジュールを作成すると、その時点の内容が「デプロイ」され、スケジュール実行時には最新のデプロイ済みバージョンが使われます。

「デプロイ」とは、パイプラインの設定や修正内容を本番環境に反映する操作です。

パイプライン内のクエリやノートブックなどを編集した場合は、必ず「デプロイ」ボタンを押して変更内容を反映させてください。デプロイを行わないと、スケジュール実行時に古いバージョンが使われてしまうため注意が必要です。

作成したスケジュールは、BigQueryメニューの「スケジュール設定」からも確認できます。この画面では、他のパイプラインやDataform、スケジュールされたクエリで作成したスケジュールも一覧で管理できます。

以上が、BigQuery パイプラインの基本的な使い方です。

BigQuery パイプライン・Dataform・スケジュールされたクエリの比較

いずれもデータ処理自動化を実現する手段ですが、用途や特徴が異なります。主な違いを以下の表にまとめます。

これまで、タスク間の依存関係を制御したい場合は、スケジュールされたクエリを時間差で複数作成するなど、手間のかかる運用が必要でした。また、Dataformは強力な機能を持つ一方で、SQLXやリポジトリ管理など新たな学習コストが発生し、導入のハードルが高いと感じる方も多かったと思います。

BigQuery パイプラインは、こうした従来の課題を解消し、直感的なUIで複数タスクや依存関係を簡単に管理できるため、幅広いユーザーにとって”ちょうどよい”自動化手段となっています。特別な知識や複雑な設定が不要で、これまで自動化に踏み切れなかった方にもおすすめできる機能です。

まとめ

BigQuery パイプラインは、複数のタスクや依存関係を直感的に管理できる新しい自動化機能です。Dataformやスケジュールされたクエリに比べて設定や運用のハードルが低く、既存のクエリやノートブックも簡単に取り込めるため、チームでの共有や運用もスムーズに行えます。依存関係のある処理や複数アセットの自動化には特に適しており、これまで手間だったデータ処理の自動化がより身近になりました。

BigQuery パイプラインを活用することで、日々の業務効率化や新しい仕組みづくりがより簡単になります。この記事が、みなさまの参考になれば幸いです。

アユダンテでは月1でニュースレターの配信を始めました

この記事を書いた人
$uname
春山 勇悟
デジタルマーケティングエンジニア
前職では主にGoogleタグマージャを用いたGoogleアナリティクスの導入支援や、Looker Studioでのダッシュボード構築、データ利活用の支援などを担当。趣味は愛犬との散歩とサウナ。
最近書いた記事