共用方式為


翻滾視窗

✅ Azure 串流分析 ✅ 網狀架構事件串流

輪轉視窗是一系列的固定大小、非重疊和連續時間間隔。 下圖說明具有一系列事件的數據流,以及它們如何對應到 10 秒輪轉視窗。

串流分析輪轉視窗 5 分鐘

語法

{TUMBLINGWINDOW | TUMBLING} ( timeunit  , windowsize, [offsetsize] )  
{TUMBLINGWINDOW | TUMBLING} ( Duration( timeunit  , windowsize ), [Offset(timeunit  , offsetsize)] )  
  

備註

輪轉視窗可以透過上述兩種方式使用。 若要允許與跳躍視窗保持一致性,持續時間函式也可以與所有類型的視窗搭配使用,以指定視窗大小。 窗口持續時間必須是正浮點數。

論點

timeunit

這是視窗化的時間單位。 下表列出所有有效的 timeunit 自變數。

Timeunit 縮寫
dd、d
小時 呵呵
分鐘 mi, n
ss、s
毫秒 毫秒
微秒 mcs

windowsize

描述視窗大小的大整數。 Windowsize 是靜態的,而且無法在運行時間動態變更。

視窗的大小上限為 7 天。

offsetsize

根據預設,輪轉視窗會包含在視窗結尾,開頭為獨佔,例如下午 12:00 – 下午 1:00 將包含正好在下午 1:00 發生的事件,但不包含在下午 12:00 發生的事件(這些事件會是上午 11:00 - 下午 12:00 的一部分)。

Offset 參數可用來變更此行為,並在窗口開頭包含事件,並排除最後發生的事件。

範例

SELECT System.Timestamp() AS WindowEnd, TollId, COUNT(*)  
FROM Input TIMESTAMP BY EntryTime  
GROUP BY TollId, TumblingWindow(Duration(hour, 1), Offset(millisecond, -1))
SELECT 'reset' AS command
INTO
    alert
FROM
    temperature TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,15)
HAVING Avg(machine.temperature) > 25

時間考慮

每個視窗作業都會輸出視窗結尾的事件。 Azure 串流分析的視窗會在時間範圍開始時間開啟,並在時間結束時間關閉。 例如,如果您有從上午 12:00 到上午 12:05 5 的 5 分鐘時間範圍,則包含時間戳大於上午 12:00 且包含時間戳最多 12:05 的事件都會包含在此視窗中。 窗口的輸出會根據與時間範圍結束時間相等時間戳的聚合函數,是單一事件。 窗口的輸出事件時間戳可以使用別名的 System.Timestamp() 屬性,在 SELECT 語句中投影。

另請參閱

跳動視窗
滑動視窗
視窗化