Window Aggregator

支持单设备单测点数据按时间窗口聚合,

具体功能如下:

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

Configuration

该算子的配置包括General,Basic,Trigger,Rules的详细信息,各字段的配置如下:

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

名称 是否必须 描述
Aggregation Window Type Yes 窗口类型,可选滚动窗口或滑动窗口
Fixed Window Unit Yes 滚动窗口的时间单位
Fixed Window Size Yes 滚动窗口的时长
Sliding Window Unit Yes 滑动窗口的时间单位
Sliding Window Size Yes 滑动窗口的时长
QualityControl Level No 数据质量控制

Trigger

名称 是否必须 描述
Latency (Minute) Yes 数据延迟策略设置,支持0~60min的延迟
On-time Trigger No 下一窗口开始时,是否提前输出当前窗口的结果(默认不输出)
Early Trigger No 是否支持在当前窗口结束前,提前输出中间结果(默认不输出)
Frequency (Minute) No 提前输出中间结果的频率,单位默认为min

Rules

名称 是否必须 描述
Model::PointIn Yes 数据输入点,格式为:{模型标识}::{测点标识}
Aggregator Policy Yes 数据聚合算法,支持 max/min/avg/count/sum/first/last/delta
Model::PointOut Yes 数据输出点,格式为:{模型标识}::{测点标识}

Output Results

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

名称 数据类型 描述
lastOutput Int/Double/Float 该测点在该timestamp,上一次输出的值;上一次无输出则为NAN
calMode String 输出模式:<br/>超出延迟时,输出最终结果 “final”; <br/>配置On-time Trigger时,窗口结束,输出准时结果 “onTime”; <br/>配置Early Trigger时,窗口未结束,输出提前结果 “early”
calType String 聚合策略:max/min/avg/count/sum/first/last/delta
calDetail Map 计算详情:如calType=avg时,输出value&lastValue的sum和count信息

Output Example

../../../_images/window_aggregator_result.jpg