スライディング ウィンドウ (Azure Stream Analytics)
スライディング ウィンドウを使用する場合、システムは、特定の長さを持つと考えられるウィンドウをすべて論理的に考慮するように求められます。 このようなウィンドウの数は無限になるので、Azure 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