SQL ワークフローの概要

このドキュメントは、Dataform での SQL ワークフローのアーキテクチャと実行を理解するのに役立ちます。

Dataform を使用して BigQuery で実行し、分析目的でデータを変換できる SQL ワークフローを開発、テスト、バージョン管理できます。SQL ワークフローは、Dataform コアで、SQLX ファイルと、必要に応じて JavaScript ファイルを使用して、または JavaScript で開発できます。

SQL ワークフローは、次のオブジェクトで構成できます。

データソースの宣言
Dataform テーブル定義と SQL オペレーションでこれらのデータソースを参照できる BigQuery データソースの宣言。
テーブル
宣言されたデータソースや、SQL ワークフローの他のテーブルに基づいて、Dataform で作成するテーブル。Dataform は、テーブル、増分テーブル、ビュー、マテリアライズド ビューのテーブルをサポートしています。
アサーション
テーブルデータの検証に使用できるデータ品質テストクエリ。Dataform は、SQL ワークフローを更新するたびにアサーションを実行し、アサーションが失敗した場合はアラートを送信します。
カスタム SQL オペレーション
Dataform がそのまま変更せずに BigQuery で実行する SQL ステートメント。
含まれるサービス
SQL ワークフロー全体で再利用できる変数と関数の定義を含む JavaScript ファイル。

SQL ワークフローの可視化

SQL ワークフローは、有向非巡回グラフ(DAG)の形式で可視化できます。DAG には、ワークスペースで定義された SQL ワークフローのすべてのオブジェクトとそれらの関係が表示されます。ズームインとズームアウト、ドラッグ&ドロップを使用して DAG 内を移動できます。SQL ワークフローにコンパイル エラーがある場合は、Dataform に DAG ではなくエラー メッセージが表示されます。

SQL ワークフローの DAG を表示するには、ワークスペースで [コンパイル済みグラフ] をクリックします。

SQL ワークフローの実行

開発ワークスペースでは、SQL ワークフロー全体、選択したアクション、または選択したタグに対して手動で実行をトリガーできます。

Dataform のリリース構成ワークフロー構成を使用して、実行をスケジュールできます。まず、リポジトリのコンパイル結果を作成するリリース構成を作成します。次に、ワークフロー構成を作成して、リリース構成を選択し、実行する SQL ワークフロー アクションを選択して、実行スケジュールを設定します。

あるいは、Cloud Composer またはWorkflows と Cloud Scheduler を使用して実行をスケジュールすることもできます。

Dataform は、実行中に SQL ワークフローのオブジェクト依存関係の順序に従って BigQuery で SQL クエリを実行します。実行後、BigQuery での分析のすべての目的で、定義されたテーブルとビューを使用できます。

実行構成オプション

SQL ワークフロー オブジェクトの特定のグループを実行するには、選択したファイルに Dataform 実行タグを追加します。その後、実行を手動でトリガーするときに、選択したタグを持つファイルのみを実行できます。

デフォルトでは、Dataform は dataform.json ファイルで定義された実行設定を使用して SQL ワークフローを実行します。これらの実行設定は、コンパイルのオーバーライドでオーバーライドできます。

ワークスペースのコンパイルのオーバーライドを使用すると、ワークスペースを隔離された実行環境に変換できます。つまり、ワークスペースで手動で実行をトリガーすると、Dataform は BigQuery の分離された場所で出力を実行します。

コンパイルのオーバーライドを使用して単一のコンパイル結果を作成して実行するには、Dataform API を使用してリクエストを渡します。

リリース構成では、リポジトリ全体のコンパイルのオーバーライドと、適用された設定でコンパイル結果を作成する頻度を構成できます。

Dataform でコンパイルとコードのライフサイクルを構成する方法については、Dataform でのコード ライフサイクルの概要をご覧ください。

次のステップ