您可以将数据聚合节点类比为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的时间属性。
使用默认值。
下面为以“应用场景”为例的一个具体配置:
单击数据解析工作台右上角的保存,完成数据聚合节点的配置。
重要该节点的输出字段为分组字段和聚合结果字段列表,上一节点的其他字段不会作为该节点的输出字段。
后续操作
配置完相邻消息计算节点后,您可以继续配置其他处理节点,也可以配置目标节点完成整个解析任务配置。