Fixed Time Window Aggregator¶
支持对单个测点的数据按时间窗口聚合,具体功能如下:
- 窗口类型:支持滚动窗口 
- 聚合算法:支持 max/min/avg/count/sum/first/last 
- 延迟策略:支持0~60min的数据延迟,该范围内乱序到达的数据仍会参与计算 
- 提前输出:支持在当前窗口结束前,按固定频率或输入点触发提前输出中间结果 
- 因任何原因导致的失败重试,比如集群节点异常,不能保证计算结果幂等。 
配置详情¶
该算子的配置包括 General,Basic,TriggerConfig,Input/Output,ExtraConfig,和 CacheConfig 的详细信息,各字段的配置如下:
General¶
| 名称 | 是否必须 | 描述 | 
|---|---|---|
| Name | Yes | 算子名称 | 
| Description | No | 算子描述 | 
| Stage Library | Yes | 算子所属的库 | 
| Required Fields | No | 数据必须包含的字段,如果未包含指定字段,则record将被过滤掉 | 
| Preconditions | No | 数据必须满足的前提条件,如果不满足指定条件,则record将被过滤掉。例如: | 
| On Record Error | Yes | 对错误数据的处理方式,可选: 
 | 
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 | 数据输出点,格式为:{模型标识}::{测点标识} | 
ExtraConfig¶
| 名称 | 是否必须 | 描述 | 
|---|---|---|
| Output Data Type | Yes | 选择输出数据的类型,可选Double或From TSL Model Service: 
 | 
CacheConfig¶
| 名称 | 是否必须 | 描述 | 
|---|---|---|
| Cache Type | Yes | 选择缓存数据的类型,可选Redis存储或Local存储。 
 | 
输出结果¶
该算子的输出结果包含在 attr 结构体中,各字段的描述如下:
| 名称 | 数据类型 | 描述 | 
|---|---|---|
| lastOutput | Int/Double/Float | 该测点在该timestamp,上一次输出的值;上一次无输出则为NaN | 
| calMode | String | 输出模式: 
 | 
| calType | String | 聚合算法:max/min/avg/count/sum/first/last | 
| calDetail | Map | 计算详情:如calType=avg时,输出value&lastValue的sum和count信息 | 
输出示例¶
