Batch Merger*
支持按照配置为每个数据(Record)生成分组标签(tag),并从本批数据中将相同标签的数据合并到同一个 Record 中输出,其主要功能包括:
- 提供2种生成标签的规则:基于字段的值
(field.value)
或基于 EL 表达式来生成标签。
- 与旧数据格式不兼容,即无法按
ModelId::PointId
进行数据过滤
配置详情
该算子的配置包括 General,Basic,Input/Output,和 Group Key 的详细信息,各字段的配置如下:
General
名称 |
是否必须 |
描述 |
Name |
Yes |
算子名称 |
Description |
No |
算子描述 |
Stage Library |
Yes |
算子所属的库 |
Required Fields |
No |
数据必须包含的字段,如果未包含指定字段,则 record 将被过滤掉 |
Preconditions |
No |
数据必须满足的前提条件,如果不满足指定条件,则 record 将被过滤掉。例如:${record:value('/value') > 0} 。有关 EL 语句的使用方法,参考 Expression Language。 |
On Record Error |
Yes |
对错误数据的处理方式,可选:
- Discard:直接丢弃
- Send to Error:发送至错误中心
- Stop Pipeline:停止流任务运行
|
Basic
名称 |
是否必须 |
描述 |
Quality Filter |
No |
根据数据质量过滤处理数据,只有符合质量条件的 record 才会进行此次处理 |
Group Key
名称 |
是否必须 |
描述 |
Key Generate Method |
Yes |
选择生成分组标签 (tag) 的方式,可选 By Record Field Value 或 By EL Expression |
Fields |
No |
当选择 By Record Field Value 生成分组标签时,选择或输入字段名称 |
EL Expression |
No |
当选择 By EL Expression 生成分组标签时,输入生成分组标签的表达式 |
输出结果
该算子的输出结果包含在 attr
结构体中,各字段的描述如下:
名称 |
数据类型 |
描述 |
crossBatch |
Map |
具有相同标签的记录集合 |
注解
该算子的输出结果中 modelIdPath, pointId, modelId 三个 key 所对应的 value 都是默认字符串,分别为: modelIdPath, pointId, modelId。
输出示例