スライディング ウィンドウ (Azure Stream Analytics)

スライディング ウィンドウを使用する場合、システムは、特定の長さを持つと考えられるウィンドウをすべて論理的に考慮するように求められます。 このようなウィンドウの数は無限になるので、Azure Stream Analytics は代わりに、ウィンドウの内容が実際に変更された時点、つまりイベントがウィンドウに入ったり終了したりしたときに、それらの時点に対してのみイベントを出力します。

次の図は、一連のイベントを含むストリームと、それらが 10 秒のスライディング ウィンドウにどのようにマップされるかを示しています。

Stream Analytics 10 秒のスライディング ウィンドウ

構文

{SLIDINGWINDOW | SLIDING} ( timeunit, windowsize )
{SLIDINGWINDOW | SLIDING} ( Duration( timeunit, windowsize ) )

Note

スライディング ウィンドウは、上記の 2 つの方法で使用できます。 ホッピング ウィンドウとの一貫性が保たれるようにするには、すべての種類のウィンドウで Duration 関数を使用して、ウィンドウのサイズを指定します。

引数

timeunit

windowsize の時間の単位です。 次の表に有効な timeunit 引数をすべて示します。

Timeunit 省略形
day dd、d
hour hh
minute mi、n
second ss、s
ミリ秒 ms
マイクロ秒 mcs

windowsize

ウィンドウのサイズを記述する多倍長整数。 windowsize は静的であり、実行時に動的に変更することはできません。

すべてのケースでウィンドウの最大サイズは 7 日間です。

この例は、最後の 5 分で 3 台を超える車両に対応したすべての有料ブースを検索します。

SELECT DateAdd(minute,-5,System.Timestamp()) AS WinStartTime, System.Timestamp() AS WinEndTime, TollId, COUNT(*)
FROM Input TIMESTAMP BY EntryTime
GROUP BY TollId, SlidingWindow(minute, 5)
HAVING COUNT(*) > 3