Batch Merger*

支持按照配置为每个数据(Record)生成分组标签(tag),并从本批数据中将相同标签的数据合并到同一个 Record 中输出,其主要功能包括:

  • 提供2种生成标签的规则:基于字段的值(field.value)或基于 EL 表达式来生成标签。

  • 与旧数据格式不兼容,即无法按 ModelId::PointId 进行数据过滤

配置详情

该算子的配置包括 GeneralBasicInput/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 才会进行此次处理

Input/Output

名称

是否必须

描述

Input Measurement

Yes

数据输入点

Output Measurement

Yes

数据输出点

Group Key

名称

是否必须

描述

Key Generate Method

Yes

选择生成分组标签 (tag) 的方式,可选 By Record Field ValueBy 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

输出示例

../../../_images/cross_batch_merger11.png