Fixed Time Window Aggregator

支持对单个测点的数据按时间窗口聚合,具体功能如下:

  • 窗口类型:支持滚动窗口
  • 聚合算法:支持 max/min/avg/count/sum/first/last
  • 延迟策略:支持0~60min的数据延迟,该范围内乱序到达的数据仍会参与计算
  • 提前输出:支持在当前窗口结束前,按固定频率或输入点触发提前输出中间结果

配置详情

该算子的配置包括 GeneralBasicTriggerConfig,和 Input/Output 的详细信息,各字段的配置如下:

General

名称 是否必须 描述
Name Yes 算子名称
Description No 算子描述
Stage Library Yes 算子所属的库
Required Fields No 数据必须包含的字段,如果未包含指定字段,则record将被过滤掉
Preconditions No 数据必须满足的前提条件,如果不满足指定条件,则record将被过滤掉
On Record Error Yes

对错误数据的处理方式,可选:

  • Discard:直接丢弃
  • Send to Error:发送至错误中心
  • Stop Pipeline:停止流任务运行

Basic

名称 是否必须 描述
Quality Filter No 根据数据质量过滤处理数据,只有符合质量条件的record才会进行此次处理

TriggerConfig

名称 是否必须 描述
Latency (Minute) Yes 数据延迟策略设置,支持0~60min的延迟
Early Trigger No 是否支持在当前窗口结束前,提前输出中间结果(默认不输出)
Early Trigger Type No 选择提前输出中间结果的方式,可选按固定频率或按输入点触发的方式

Input/Output

名称 是否必须 描述
Input Point Yes 数据输入点,格式为:{模型标识}::{测点标识}
Fixed Window Size Yes 滚动窗口的时长
Fixed Window Unit Yes 滚动窗口的时间单位
Aggregator Policy Yes 数据聚合算法,支持 max/min/avg/count/sum/first/last
Output Point Yes 数据输出点,格式为:{模型标识}::{测点标识}

输出结果

该算子的输出结果包含在 attr 结构体中,各字段的描述如下:

名称 数据类型 描述
lastOutput Int/Double/Float 该测点在该timestamp,上一次输出的值;上一次无输出则为NaN
calMode String

输出模式:

  • 超出延迟时,输出最终结果 “final”
  • 配置On-time Trigger时,窗口结束,输出准时结果 “onTime”
  • 配置Early Trigger时,窗口未结束,输出提前结果 “early”
calType String 聚合算法:max/min/avg/count/sum/first/last
calDetail Map 计算详情:如calType=avg时,输出value&lastValue的sum和count信息

输出示例

../../../_images/fixed_window_aggregator.png