配置数据聚合

您可以将数据聚合节点类比为Flink SQL的窗口函数,该节点的作用是将解析任务中流转的消息按照窗口进行聚合计算。通过该节点聚合生成多样化的数据,可用于后续分析或输出。

使用说明

目前支持的Flink SQL的窗口函数规则为滚动时间窗口(TUMBLE),详细说明,请参见滚动窗口

数据聚合节点仅提供10s、15s、30s、1min、5min、15min、30min几种固定长度的时间窗口。

说明
  • 如果需要的时间窗口超过30min,建议通过分析洞察中的SQL分析工作台,通过小时调度实现,请参见SQL分析

  • 如果您有自定义需求,可以联系技术支持人员提需求。

应用场景

某园区节能系统需要做到节能降本,其中一个子任务是需要以分钟为单位,找到园区中空调温度(temperature)最高的会议室。此时,可以定义数据聚合节点,以会议室ID(roomId)为聚合粒度,窗口长度1分钟,聚合算法为MAX,输出字段会议室ID(roomId)和分钟级最高温度(max_temperature)。

前提条件

已配置数据计算的表达式或数据过滤的筛选器,具体操作,请参见配置数据计算和数据过滤

背景信息

操作步骤

  1. 进入数据解析工作台

  2. 在中间画布单击当前节点后的添加image图标。

  3. 在弹出的节点列表中单击数据聚合节点。

  4. 在画布中单击数据聚合节点,在右侧配置面板,参照下表,配置数据聚合字段。

    配置项

    参数

    说明

    示例

    基础配置

    分组字段

    选择用于窗口函数中数据分区的字段列表(聚合粒度),取值不受窗口聚合逻辑影响,例如:产品密钥(ProductKey),设备名称(DeviceName)等。

    以“应用场景”的示例为例:要统计每个会议室的最高温度,选择对应的分组字段为会议室ID(roomId)。

    窗口长度

    选择窗口长度,可选:10s15s30s1min5min15min30min

    • 如果超过1小时窗口,请使用SQL工作台小时调度。具体内容,请参见SQL分析中的设置任务调度策略

    • 如果您有自定义需求,可以联系技术支持人员提需求。

    以“应用场景”的示例为例:1min。

    被聚合字段列表

    设置如下信息:

    • 被聚合字段:选择数值型字段,使用对应值进行聚合操作。

    • 聚合结果字段名:仅支持数字、字母和下划线,不能以数字开头,不能和已有字段重合,长度不超过30个字符。

    • 聚合操作SUMCOUNTMINMAXAVG

    以“应用场景”的示例为例:

    • 被聚合字段:选择空调温度temperature

    • 聚合结果字段名:分钟级最高温度max_temperature

    • 聚合操作:选择MAX

    高级配置

    延迟容忍

    单位为秒。

    如果消息乱序造成数据比实际的窗口延迟上报,设置该字段可使延迟达到的数据能在正确的窗口上进行计算。使用逻辑类比Flink SQL的Watermark,请参见Flink SQL的时间属性

    使用默认值。

    下面为以“应用场景”为例的一个具体配置:

    image
  5. 单击数据解析工作台右上角的保存,完成数据聚合节点的配置。

    重要

    该节点的输出字段为分组字段和聚合结果字段列表,上一节点的其他字段不会作为该节点的输出字段。

后续操作

配置完相邻消息计算节点后,您可以继续配置其他处理节点,也可以配置目标节点完成整个解析任务配置。