「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
詳細 †
ストリーム型のデータ並列計算 †
属性の選択やフィルタ †
エンリッチメント †
リアルタイム・ウィンドウ集約処理 †
到着時刻に基づき、ウィンドウ・スライディング幅で集約する。
安全なデータソース †
※ 出力先は、データ・ストレージ、RDB、NoSQL、ダッシュボード等。
データ・ストレージ †
その他 †
Structured Streaming †
概要 †
- Spark SQL エンジンに基づいて構築
- ストリーミングをバッチと同じ方法で記述できる。
特徴 †
- データのストリームを深さが無限のテーブルとして表すため、
- 不完全な集計結果を長時間維持でき、
- 遅延したデータを再処理することが可能となり、
- その都度結果を更新できる。
サポート †
- Spark Streaming (DStreams) は
Spark Structured Streamingに置き換えられる。
- 将来的には、
- Structured Streaming のみ、拡張機能やメンテナンスを受ける。
- 従って、DStreams はメンテナンス モードのみになる。
処理 †
- ステートレスな処理
- 属性の選択(プロジェクション)やフィルタなど
- 他のレコードと 独立に処理可能なもの
- マイクロバッチごとに、新規に到着した
レコードで構成された DataFrame?を処理する
- 新規に到着したレコードに加えて、
直前までのマイクロバッチにより更新された
ステートを加味してDataFrame?を処理する。
- 6つのフェーズ
① 部分集約処理
② 部分マージ処理1
③ ステート・リストア
④ 部分マージ処理2
⑤ ステート・セーブ
⑥ 最終処理
- イベントタイム・ウィンドウ集約処理
- ステートフル集約処理の一種
- 到着時刻に基づくウィンドウ集約ではなく、
イベントタイムに基づくウィンドウ集約
- イベントタイムとは、イベントの生起時刻など、レコードに意味付けされた時間。
- イベントタイムに基づき、ウィンドウ・スライディング幅で集約する。
- Spark Streamingでは到着時刻に基づくウィンドウ集約処理のみ実装されていた。
- ウォーターマーク
- ステートフルな処理とともに用いられる
- 遅れてきたデータをハンドリングする仕組み
参考 †
Structured Streaming †