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信息 |