您可以將數據聚合節點類比為Flink SQL的窗口函數,該節點的作用是將解析任務中流轉的消息按照窗口進行聚合計算。通過該節點聚合生成多樣化的數據,可用于后續分析或輸出。
使用說明
目前支持的Flink SQL的窗口函數規則為滾動時間窗口(TUMBLE),詳細說明,請參見滾動窗口。
數據聚合節點僅提供10s、15s、30s、1min、5min、15min、30min幾種固定長度的時間窗口。
如果需要的時間窗口超過30min,建議通過分析洞察中的SQL分析工作臺,通過小時調度實現,請參見SQL分析。
如果您有自定義需求,可以聯系技術支持人員提需求。
應用場景
某園區節能系統需要做到節能降本,其中一個子任務是需要以分鐘為單位,找到園區中空調溫度(temperature)最高的會議室。此時,可以定義數據聚合節點,以會議室ID(roomId)為聚合粒度,窗口長度1分鐘,聚合算法為MAX
,輸出字段會議室ID(roomId)和分鐘級最高溫度(max_temperature)。
前提條件
已配置數據計算的表達式或數據過濾的篩選器,具體操作,請參見配置數據計算和數據過濾。
背景信息
操作步驟
在中間畫布單擊當前節點后的添加圖標。
在彈出的節點列表中單擊數據聚合節點。
在畫布中單擊數據聚合節點,在右側配置面板,參照下表,配置數據聚合字段。
配置項
參數
說明
示例
基礎配置
分組字段
選擇用于窗口函數中數據分區的字段列表(聚合粒度),取值不受窗口聚合邏輯影響,例如:產品密鑰(ProductKey),設備名稱(DeviceName)等。
以“應用場景”的示例為例:要統計每個會議室的最高溫度,選擇對應的分組字段為會議室ID(roomId)。
窗口長度
選擇窗口長度,可選:10s、15s、30s、1min、5min、15min、30min。
如果超過1小時窗口,請使用SQL工作臺小時調度。具體內容,請參見SQL分析中的設置任務調度策略。
如果您有自定義需求,可以聯系技術支持人員提需求。
以“應用場景”的示例為例:1min。
被聚合字段列表
設置如下信息:
以“應用場景”的示例為例:
被聚合字段:選擇空調溫度temperature。
聚合結果字段名:分鐘級最高溫度max_temperature。
聚合操作:選擇MAX。
高級配置
延遲容忍
單位為秒。
如果消息亂序造成數據比實際的窗口延遲上報,設置該字段可使延遲達到的數據能在正確的窗口上進行計算。使用邏輯類比Flink SQL的Watermark,請參見Flink SQL的時間屬性。
使用默認值。
下面為以“應用場景”為例的一個具體配置:
單擊數據解析工作臺右上角的保存,完成數據聚合節點的配置。
重要該節點的輸出字段為分組字段和聚合結果字段列表,上一節點的其他字段不會作為該節點的輸出字段。
后續操作
配置完相鄰消息計算節點后,您可以繼續配置其他處理節點,也可以配置目標節點完成整個解析任務配置。