2026年1月7日

AWS Glue/Athena ユーザーが Dataform を触ってみて分かったこと


Content
AWS では、SQL 中心の処理をパイプラインにする場合、Glue や Athena を Step Functions で組み合わせることが多く、少し手間に感じることがあります。
Dataform は SQL を中心にワークフローを組めるツールだと知り、興味を持ったので試してみました。

1. はじめに

私は AWS に触れて約 1 年ほどで、Glue や Athena、Redshift を使ったデータ基盤構築の経験があります。
一方で Google Cloud の実務経験はありませんが、Professional Data Engineer の資格を持っています。
今回、Dataform を触ることで、SQL ベースのパイプライン構築の感覚や BigQuery との連携のしやすさを体験してみました。

2. Dataform とは

Dataform は、BigQuery 上で SQL ベースのパイプラインを構築できるデータモデリングツールです。

公式ドキュメント(Dataform の概要)

SQLX(Dataform 独自拡張 SQL)を使ってテーブルやビューを定義し、それらの依存関係を自動で管理できます。

主な特徴は以下のとおりです。

  • SQL ベースでモデル(ビュー / テーブル)を定義できる

  • ref() を使って依存関係をシンプルに記述できる

  • DAG(依存関係グラフ)が自動生成され、全体像が見やすい

  • Git を前提にした開発フローで CI/CD と相性が良い

  • BigQuery と密に統合されており、反映もスムーズ

今回の作業では、実際にいくつかの SQLX ファイルを作成し、BigQuery にモデルが作られていく流れを試しました。

 

3. 実際にやったこと

Dataform を触りながら、以下のような流れで SQL ベースのパイプラインを組みました。

  1. Dataform のリポジトリを作成
    プロジェクトの雛形が自動生成され、Git 管理の前提が整います。

  2. 開発ワークスペースを初期化
    SQLX を編集するためのワークスペースを準備。

  3. ビューを定義する SQLX を作成
    BigQuery 上の元データからビューを作成する SQL モデルを記述。

  4. テーブルを定義する SQLX を作成
    ref() を使って前段ビューを参照し、テーブル変換のモデルを作成。

  5. Dataform に BigQuery のアクセス権を付与
    モデルを実際に BigQuery に作成するための認可設定。

  6. ワークフロー(DAG)を実行
    依存関係に沿って SQL モデルが順番に実行され、BigQuery に結果が反映。

短い流れですが、SQL だけで DAG が構築されていく体験ができました。

4. AWS とのギャップで理解が深まった点

AWS のパイプライン構築と照らし合わせながら触ってみることで、Dataform の特徴がよりはっきりと見えてきました。

● SQL モデル中心のワークフロー構築

AWS では Glue(PySpark)や Lambda、Step Functions など複数のサービスを組み合わせてパイプラインを構築することが多いのに対し、Dataform では「SQL モデル」を中心にして依存関係を自動解決します。
コード量もシンプルで、DAG の可視化が見やすいのが特徴です。

下記はDataform で自動生成された DAG の例(View → View 、View → Table の依存関係)です。

● BigQuery の特性を前提とした最適化

BigQuery は列ごとにデータを管理し、大規模データの集計や結合を高速に処理できます。
Dataform もこの特性を前提に設計されており、SQL を書くだけで複雑な最適化を意識せずにテーブル作成や集計処理が行えます。

AWS の Redshift では、パーティション設計や圧縮形式などを細かく考える必要がありますが、BigQuery はこうした最適化を自動で行ってくれるので、SQL の記述に集中できるのが大きなメリットです。

テストやドキュメント機能が組み込み可能

Dataform では、モデルごとに簡単なデータテストやドキュメントを定義できる機能があります。具体例は以下のとおりです(公式ドキュメント参照):

  • 特定のカラムが NULL でないか確認

  • レコード数が想定通りかチェック

  • 重複がないかチェック

  • テーブル・カラムの説明を SQLX 内で記載してまとめて閲覧

※今回私自身は実務で試していませんが、将来的に学んで活用できそうな機能だと感じました。

公式ドキュメント(Assertions)

5. 触ってみて感じたこと

良かった点

  • SQL のみでパイプライン構築できる

  • DAG が自動で可視化され、依存関係が把握しやすい

  • BigQuery との統合がスムーズ

  • Git 前提の構成でチーム開発向き

想定外だった点

  • SQLX のテンプレート構文には少し慣れが必要

  • Dataform は基本的に BigQuery 前提なので、AWS のように複数 DWH を組み合わせる設計感は薄い

6. まとめ(今後の学習に向けて)

Dataform を触ってみて、SQL モデル中心でパイプラインを構築できる便利さや、DAG が自動で可視化される点など、AWS とは違った快適さを感じました。

今後は以下の3点を中心に学習を進め、実務で使えるスキルにしていきたいと思います。

  1. DAG を意識したジョブ実行の順序設計
    依存関係が複雑になった場合でも、可視化や整理を意識して効率よくパイプラインを回せる設計を学ぶ。

  2. Git や CI/CD と組み合わせた運用
    複数人での開発やレビュー体制を整え、チーム開発で使えるワークフローを理解する。

  3. Dataform のテスト・ドキュメント機能の実践
    実際に機能を触って運用方法を確認し、品質管理やドキュメント作成に活用できるようにする。

今回の体験は、SQL モデル中心のパイプライン構築のイメージを掴む良いきっかけになりました。これらの学習を進めることで、より実務で役立つ知識にしていきたいと思います。

2026年1月7日 AWS Glue/Athena ユーザーが Dataform を触ってみて分かったこと

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら