0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQLパイプラインをGUIで整理!Dataformのすすめ(BigQueryユーザー向け)

Last updated at Posted at 2025-05-23

はじめに

最近、チーム内のSQL管理が煩雑になってきたな……と感じています..

  • SQLが個人PCやNotionに散らばっている
  • データ変換処理の実行タイミングが不明確
  • Airflowやdbtは少しハードルが高い

そんなときに便利なのが、Dataform(by Google) です。
この記事では、BigQueryを使っている組織に向けて、Dataformの概要・メリット・導入方法をわかりやすく紹介します。

Dataformとは?

Dataform は、SQLで書かれたデータ変換処理を「モジュール化・自動化・可視化」できるツールです。
Googleが提供しており、BigQueryに特化しています。

特徴まとめ:

機能 内容
SQLのモジュール化 同じ処理を複数箇所で再利用可能に
DAGによる可視化 テーブルの依存関係をグラフィカルに表示
自動実行 定期実行スケジューラーをGUIで設定
Git連携 SQLの変更履歴・レビューが可能
GUI中心 dbtよりも学習コストが低く、導入しやすい

dbtとの違いは?

比較項目 dbt Dataform
UI/UX CLI中心 GUI中心
データ基盤 複数DB対応 BigQuery専用
難易度 やや高め わかりやすい
ターゲット エンジニア向け 分析者もOK

dbtは強力なツールですが、「BigQuery+非エンジニア」チームにはDataformが最適なケースもあります。

使ってみた(サンプル)

プロジェクト構成の例:

/definitions
  ├─ sources/
  ├─ models/
  ├─ includes/
  └─ assertions/

例:SQLモデル

config {
  type: "table",
  tags: ["sales"]
}

SELECT
  user_id,
  SUM(order_amount) AS total_amount
FROM
  ${ref("raw_orders")}
GROUP BY
  user_id

DAG(依存関係グラフ)

Dataformでは、SQLの依存関係を自動で解析し、以下のようなDAGが可視化されます。

raw_orders → summary_orders → dashboard_data

導入ステップ

  1. Dataform公式サイト でプロジェクト作成(GoogleアカウントでOK)
  2. BigQueryの接続設定を行う
  3. SQLモデルを作成し、依存関係をrefでつなぐ
  4. スケジューラーで定期実行設定
  5. GitHub連携してレビュー体制を整備(任意)

導入して良かったこと

✅ 処理の流れが一目で分かるようになった
✅ SQLがチームでレビューできるようになった
✅ 手作業やcronによる運用を削減できた
✅ データ資産が「設計図」として残るようになった

まとめ

Dataformは、「SQLを使ったデータ整形・ETL処理」をチームで効率化するための強力なツールです。

  • BigQueryを利用している
  • Airflow/dbtまでは不要
  • GUIで簡単に始めたい

そんなチームに、Dataformは非常にフィットします。

おまけ:こんなチームにおすすめ!

  • SQLが属人化しているが、エンジニア以外も関わっている
  • データ変換の履歴管理やレビューを整備したい
  • 分析業務の「前処理」をスケールさせたい

おわりに

Dataform、実際に触ってみると「めちゃくちゃ簡単に始められて、効果が大きい」ツールです。
PoCから始めてみることをおすすめします。

補足

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?