ホッピングウィンドウやその他のウィンドウ処理は、GCPのDataflow(Apache Beam)やAzure Stream Analytics、AWS Kinesis Data Analyticsなどのさまざまなストリーム処理基盤で広く使われています。
ウィンドウの種類の整理
ウィンドウ種別 | 特徴 | 向いている処理 |
---|---|---|
ホッピングウィンドウ | 一定間隔で重なり合う固定時間ウィンドウ | 移動平均などの時間スライディング統計 |
セッションウィンドウ | アクティビティの間隔に基づく | ユーザーセッション解析など |
タンブリングウィンドウ | 固定長・重なりなし | シンプルな集計、例:5分ごとの合計 |
サンプルコード(Python SDK)
# Hopping Window(5分幅・1分間隔)
beam.WindowInto(SlidingWindows(size=300, period=60))
# Tumbling Window(5分ごと)
beam.WindowInto(FixedWindows(300))
# Session Window(30秒のギャップ)
beam.WindowInto(Sessions(30))