データパイプラインの紹介

データパイプラインは、連続的なデータロードの変換と最適化に伴う多くの手動ステップを自動化します。多くの場合、「生」データは最初に一時ストレージに使用されるステージングテーブルに一時的にロードされ、その後、一連の SQL ステートメントの使用により変換され、宛先レポートテーブルに挿入されます。このプロセスの最も効率的なワークフローには、新規または変更されたデータのみの変換が含まれます。

このトピックの内容:

連続データパイプラインに含まれる機能

Snowflakeは、連続データパイプラインを有効にする次の機能を提供します。

連続データロード:

連続データ読み込みのオプションには次のものがあります。

連続データ変換:

動的テーブルは、データエンジニアリングを簡素化し、データを変換する簡単な方法を提供する、宣言型の自動データパイプラインです。データ変換ステップを一連のタスクとして定義するのではなく、変換の最終状態を単純に定義することができます。

さらなる情報と詳細については、 動的テーブル をご参照ください

変更データの追跡:

ストリーム オブジェクトは、挿入やその他のデータ操作言語(DML)の変更を含む、テーブル(ステージングテーブルなど)の変更データキャプチャ(CDC)のデルタ情報を記録します。ストリームを使用すると、2つのトランザクションポイント間で、行レベルによるテーブルの一連の変更をクエリおよび利用できます。

連続データパイプラインでは、連続データロードを使用してステージングテーブルおよびダウンストリームテーブルにビジネスアプリケーションからのデータが入力され、 SQL ステートメントを使用してさらに処理できる状態になると、テーブルストリームが記録します。

詳細については、 テーブルストリームを使用した変更追跡 をご参照ください。

定期的なタスク:

タスク オブジェクトは、ストアドプロシージャを呼び出すステートメントを含む SQL ステートメントを実行するための繰り返しスケジュールを定義します。より複雑な定期処理をサポートするために、タスクを連続して実行するためにチェーン化できます。

タスクはオプションでテーブルストリームを使用して、新規または変更されたデータを継続的に処理する便利な方法を提供できます。タスクは、ストリームが表面化する新しい行または変更された行を変換できます。タスクの実行がスケジュールされるたびに、ストリームにテーブルの変更データが含まれているかどうかを確認し( SYSTEM$STREAM_HAS_DATA を使用)、変更データを消費するか、変更データが存在しない場合は現在の実行をスキップします。

ユーザーは、連続した SQL ステートメントを実行してデータを処理し、それをさまざまな宛先テーブルに移動する、単純なツリーのようなタスク構造を定義できます。

詳細については、 タスクを使用したスケジュールでの SQL ステートメントの実行 をご参照ください。