Latest Record Merger¶
支持根据表达式生成分组标签,对多组输入的所有测点,根据标签进行分组后输出。对于每一分组,当该组内指定的触发点到达时,触发该组数据输出。该算子的计算逻辑如下:
支持输入多个模型的多个测点,支持多个输入点作为计算触发点
支持输出多个模型的多个测点,输入点的
modelId
,modelIdPath
,pointId
会被替换成对应的输出模型和输出测点因任何原因导致的失败重试,比如集群节点异常,不能保证计算结果幂等。
配置详情¶
该算子的配置包括 General,Basic,Input/Output,MergerConfig,和 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 才会进行此次处理 |
Input/Output¶
名称 |
是否必须 |
描述 |
---|---|---|
Input Point |
Yes |
单条规则的输入点,即需要进行分组聚合的测点,格式为:{模型标识}::{测点标识} |
Is Trigger |
No |
指定是否将该测点作为计算触发点 |
Output Point |
Yes |
单条规则的输出点,即承载输出结果的测点,格式为:{模型标识}::{测点标识} |
MergerConfig¶
名称 |
是否必须 |
描述 |
---|---|---|
Merged By Expression |
Yes |
生成分组标签的表达式。如果该表达式包含时间戳等其他标识信息可能会产生大量数据,在选择使用 Redis 作为数据存储时需评估对数据存储的影响并准备相应的预案。 |
Cache Expire Time (Minute) |
Yes |
输入分组标签不再更新后的缓存失效时间 |
CacheConfig¶
名称 |
是否必须 |
描述 |
---|---|---|
Cache Type |
Yes |
选择缓存数据的类型,可选 Redis 存储或 Local 存储。
|
输出结果¶
该算子的输出结果包含在 attr
结构体中,各字段的描述如下:
名称 |
数据类型 |
描述 |
/attr/latestRecordMerger |
Map |
聚合后的数据对象 |
mergedTag |
String |
根据表达式生成的标签 |
mergedRecords |
List |
分组聚合后的输出数据列表 |