Azure 串流分析 (視窗化函式)

在處理即時事件的應用程式中,通常會執行一些以集合為基礎的計算 (匯總) ,或在某些時段內之事件子集的其他作業。 因為時間概念是複雜事件處理系統的基本要件,因為一定要有簡單的方法可在系統中使用查詢邏輯的時間元件。 在 Azure Stream Analytics 中,這些事件子集是經由時段定義,以代表依時間的群組。 本文說明視窗及其定義方式、識別支援的視窗類型,並說明如何搭配各種運算子使用視窗。

了解時段

時段包含沿著時間軸的事件資料,並可讓您對該時段內的事件執行各種作業。 例如,您可能想要加總給定時段中裝載欄位的值,如下圖所示。

Stream Analytics 查詢語言輪轉視窗

每個視窗作業都會在視窗結尾輸出事件。 Azure 串流分析的視窗會在視窗開始時間開啟,並在視窗結束時間關閉。 例如,如果您在上午 12:00 到上午 12:05 之間有 5 分鐘的時間範圍,則時間戳記大於上午 12:00 且時間戳記上限為 12:05 的事件都會包含在此視窗中。 時段的輸出會是單一事件,而該事件以搭配等於時段結束時間的時間戳記使用的彙總函式為基礎。 視窗的輸出事件時間戳記可以使用別名的 System.Timestamp () 屬性,投影在 SELECT 語句中。 每個時段都會自動讓本身對齊第零個小時。 例如,5 分鐘的輪轉視窗本身會對齊 (12:00-12:05] 、 (12:05-12:10]、...等等。

在視窗作業之後,事件的時間戳記會與原始事件時間屬性不同, (抵達時間 或與 TIMESTAMP BY 搭配使用的資料行) 。 事件的目前更新時間戳記一律可以使用 system.timestamp () 來存取。

注意

所有時段都應該使用於 GROUP BY 子句中。

有五種類型的視窗:

  1. 輪轉視窗 (Azure 資料流分析)

  2. 跳動視窗 (Azure 資料流分析)

  3. 滑動視窗 (Azure 資料流分析)

  4. Azure 串流分析 (會話視窗)

  5. Azure 串流分析 (快照集視窗)

在所有情況下時段的大小上限為 7 天。

您可以使用 Windows (Azure 串流分析) 函式,在相同的 GROUP BY 語句中匯總多個時間範圍。

另請參閱

內建函數 (Azure Stream Analytics)
彙總函式 (Azure Stream Analytics)
分析函數 (Azure Stream Analytics)
串流分析 (陣列函式)
Conversion Functions (Azure Stream Analytics)
日期和時間函數 (Azure Stream Analytics)
(Azure 串流分析) 記錄函式