Dataform の概要

このドキュメントでは、Dataform のコンセプトとプロセスについて説明します。

Dataform は、データ アナリストが BigQuery でデータ変換を行う複雑な SQL ワークフローを開発、テスト、バージョン管理、スケジュール設定するためのサービスです。

Dataform を使用すると、データ統合の ELT(抽出、読み込み、変換)プロセスにおけるデータ変換を管理できます。Dataform では、ソースシステムから抽出されたデータを BigQuery に読み込むと、明確に定義されたテスト済みで一連のデータテーブルに変換できます。

Dataform では、次のデータ変換アクションを実行できます。

  • データ変換用の SQL ワークフローを開発して実行します。
  • Git を使用した SQL ワークフローの開発についてチームメンバーと連携します。
  • 多数のテーブルとその依存関係を管理する。
  • ソースデータを宣言し、テーブルの依存関係を管理します。
  • SQL ワークフローの依存関係ツリーを可視化します。
  • 中央リポジトリで SQL コードを使用してデータを管理します。
  • JavaScript でコードを再利用する。
  • ソーステーブルと出力テーブルの品質テストを使用して、データの正確性をテストします。
  • バージョン管理の SQL コード。
  • SQL コード内でデータテーブルを文書化します。

Dataform は顧客管理の暗号鍵(CMEK)をサポートしていません。

Dataform でのデータ変換プロセス

Dataform のデータ変換ワークフローは次のとおりです。

  1. Dataform では、コードを管理するためのリポジトリを作成できます。
  2. Dataform では、開発用のワークスペースを作成できます。
  3. Dataform では、開発ワークスペースで SQL ワークフローを開発できます。
  4. Dataform は Dataform コアを SQL にコンパイルします。
  5. Dataform は依存関係ツリーを実行します。

Dataform を使用してコードを管理するリポジトリを作成できます

Dataform リポジトリでは、SQL の拡張機能である Dataform コアを使用して、ワークフローを定義する SQLX ファイルを作成します。Dataform リポジトリでは、バージョン管理がサポートされています。Dataform リポジトリをサードパーティ Git プロバイダにリンクできます。

Dataform による開発用ワークスペースの作成

Dataform コア開発用の Dataform リポジトリ内に開発ワークスペースを作成できます。開発ワークスペースでは、Git を使用してリポジトリの変更、コンパイル、テスト、メイン リポジトリへの push を行うことができます。

Dataform では、開発ワークスペースで Dataform コアを開発できます

開発ワークスペースでは、テーブル、その依存関係、変換ロジックを定義して文書化し、SQL ワークフローを構築できます。JavaScript でアクションを構成することもできます。

Dataform が Dataform コアをコンパイル

コンパイル中に、Dataform は次のタスクを実行します。

  • Dataform コアを標準 SQL の SQL ワークフローにコンパイルします。
  • クエリ構成で CREATE TABLEINSERT などのボイラープレート SQL ステートメントをコードにインラインで追加します。
  • JavaScript を SQL にトランスパイル(ソース間でコンパイル)します。
  • 依存関係を解決し、依存関係の欠落や循環などのエラーを確認します。
  • BigQuery で実行されるすべてのアクションの依存関係ツリーを構築します。

Dataform コンパイルは、コンパイルの整合性を確保するための密閉型です。つまり、同じコードが毎回同じ SQL コンパイル結果にコンパイルされます。Dataform は、インターネットにアクセスできないサンドボックス環境でコードをコンパイルします。コンパイル中は、外部 API の呼び出しなど、追加のアクションは使用できません。

リアルタイムでデバッグするには、プロジェクトのコンパイル済み SQL ワークフローを開発ワークスペースのインタラクティブなグラフで検査できます。

Dataform が依存関係ツリーを実行します

BigQuery では、Dataform は次のタスクを実行します。

  • 依存関係ツリーの順番に従って SQL コマンドを実行します。
  • テーブルとビューに対してアサーション クエリを実行して、データの正確性を確認します。
  • 定義した他の SQL オペレーションを実行します。

実行後は、すべての分析目的でテーブルとビューを使用できます。

ログを表示して、作成されたテーブル、アサーションの合格または失敗、各アクションの完了にかかった時間などの情報を確認できます。BigQuery で実行された正確な SQL コードを表示することもできます。

Dataform のモデリング フレームワーク

Dataform は、Dataform コアDataform CLI で構成されるオープンソースのデータ モデリング フレームワークを提供します。これらは、Google Cloud の外部から使用できます。

次のステップ