Last Record Appender¶
支持将同一设备、同一点的前一个符合条件的 record ,附加到当前 record 的 attr
字段中。该算子的处理逻辑如下:
第一步,将
LastRecord
附加到 record 的attr
字段中。如果某个设备的某个点第一次经过该算子,则还没有LastRecord
。如果该设备的该点已经经过该算子,则会将LastRecord
附加到attr
字段中。将当前 record 根据 Conditions 进行判断,如果符合 Conditions,则用当前 record 更新
LastRecord
;如果不符合条件,则不更新。Conditions 如果为 *,则任意的 record 都满足条件,更新LastRecord
。因任何原因导致的失败重试,比如集群节点异常,不能保证计算结果幂等。
配置详情¶
该算子的配置包括 General,Basic,Input/Output,和 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 |
数据输入点,格式为:{模型标识}::{测点标识}。同一行的输入点和输出点之间的 modelId 必须相同,pointId 必须不同。 |
Conditions |
Yes |
输入处理 record 的条件。写法为 * 或者 StreamSets 的 EL表达式 (EL 表达式应为条件语句,结果为 Boolean 类型) |
Output Point |
Yes |
数据输出点,格式为:{模型标识}::{测点标识}。同一行的输入点和输出点之间的 modelId 必须相同,pointId 必须不同。 |
CacheConfig¶
名称 |
是否必须 |
描述 |
---|---|---|
Cache Type |
Yes |
选择缓存数据的类型,可选 Redis 存储或 Local 存储。
|
输出结果¶
经过该算子的 record ,会根据数据属性和设置的条件,确定是否会将 LastRecord
附加到 record 的 attr
字段中。