ストリームとタスクの紹介

Snowflakeはストリームとタスクで連続データパイプラインをサポートします。

ストリーム:

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

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

詳細については、 ストリームの紹介 をご参照ください。

タスク:

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

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

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

詳細については、 タスクの紹介 をご参照ください。

その他の連続データパイプライン機能については、こちらをご参照ください: