BigQuery Workflows でワークフローを作成する
はじめに
以前 BigQuery Dataform でワークフローを作成しました。
Google Cloud Next '24 で発表されたワークフローサービス BigQuery Workflows がプレビューとなったので、Dataform と比較しつつ試してみました。
BigQuery Workflows
BigQuery コンソール画面のタブ追加から、「ワークフロー」でエディタを開けます。
設定
Workflows ごとに、そのワークフローを実行するサービスアカウントを指定する必要があります。
Dataform では「デフォルトの Dataform サービスアカウント」(@gcp-sa-dataform.iam.gserviceaccount.com
)が用意されていますが、Workflows ではデフォルトの Compute Engine サービスアカウントを指定できます。
また、Workflows 専用のロールを付与する必要があります。設定タブから指定できます。
ワークフロー作成
2024/12 現在、ノートブックと SQL の2種類を使えます。
それぞれワークフロー用に新規に作成することもできますし、すでにプロジェクトに保存しているノートブック・SQLを使うことができます。
タスクの実行順は、タスク選択後そのタスクの前に実行したいタスクを指定します。
前に実行したいタスクは複数指定可能です。ワークフローの図は自動で成形されるので、ユーザーが動かすことはできません。
ワークフローの実行履歴は「実行数」タブより確認できます。
ツリー展開でタスクごとの実行状況を確認できます。
Dataform では実行や編集などの各操作の権限管理はないですが、Workflows ではワークフローごとに共有したいユーザー・グループを指定する必要があります。
このあたりの権限周りはクエリやキャンバスなど、他の権限管理と同じのようです。
触ってみて
Dataform は sqlx を使って実装する必要がありますが、Workflows は BigQuery で使っている SQL をそのまま使用できる、すでに作成した SQL やノートブックをすぐ組み込めるという点で使い始めやすいと感じました。
一方で、Dataform の利点であった変更履歴管理はないので、チームで開発する場合は Dataform、個人で使う場合は Workflows という使い方を想定していると感じました。
以上です。