
# 数据聚合
#### **算子简介**
- 名称： 数据聚合
- 功能说明： 数据聚合算子，将数据按窗口周期进行汇聚计算，以达到规约数据的目的。
- 约束：下游不允许对接数据源及产品过滤算子。
 
**算子配置**
**基础配置项**
**算子名称：**
- 配置项英文名：name

- 说明： 算子名称，对算子进行个性化的命名，以辅助增加可读性。支持中文、英文、数字、中划线、下划线，长度小于等于64个字符。
- 类型： STRING
- 必选： 否
- 约束： 需要符合正则表达式： \^\[\\u4E00-\\u9FA5A-Za-z0-9_-\]{1,64}$
**分区字段**：
- 配置项英文名：keyFields

- 说明： 分区键，用于作为消息分区/分组的标识，具体填入的内容为消息中获取的JSON Path，比如可以选择消息中设备ID所在的JSON Path。 设置后，拥有该分区键数值相同的所有消息会进入一个分区，比如分区键选择了设备ID后，所有相同设备ID的消息进入一个分区。当选择多个字段时，按指定字段顺序组合成的字符作为算子并行处理的分区的Key。数据聚合策略会针对每个分区中的消息单独作用；举例：1）选择将设备ID作为分区键，那么本算子会将相同设备ID的消息进行分区，然后进行聚合。比如设备ID为1的所有消息会进入一个分区，设备ID为2的所有消息会进入另一个分区，该算子会对每一个分区中的消息进行单独聚合； 2）选择消息中的设备ID与设备状态为分区键，那么相同设备ID与设备状态的消息会进入一个分区，然后进行单独聚合。比如设备ID为1、设备状态为正常的所有消息会进入一个分区，设备ID为1、状态为异常的所有消息进入另一个分区，该算子会对每一个分区中的消息进行单独聚合。
- 类型： STRING
- 必选： 否
- 约束： 需要符合正则表达式： \^.{1,1000}$。
**窗口配置**：
- 配置项英文名：windowAssigner
- 说明： 指定窗口的参数。
- 必选： 是
- 子配置项：windowAssigner包括如下子配置项：[size]、[messageLimit]。
**窗口大小：**
- 配置项英文名：size
- 说明： 窗口长度，单位为秒。
- 类型： INTEGER
- 必选： 是
- 约束： 最小值1， 最大值3600。
**最大消息数：**
- 配置项英文名：messageLimit
- 说明： 最大消息数，窗口内消息数据限制，取值范围1\~2147483647。当时间窗口内接收数据数达到限制，则会触发一次统计并清除当前接收数据缓存（不纳入下次计算），窗口内可触发多次统计；当窗口大小满足且消息数据不满足最大消息数时，会触发一次统计并结束当前窗口计算。
- 类型： INTEGER
- 必选： 是
- 约束： 最小值1， 最大值2147483647。
**聚合字段：**
- 配置项英文名：aggregateFields
- 说明： 聚合字段，配置聚合字段列表。
- 必选： 是
- 子配置项：aggregateFields包括如下子配置项：[field]、[type]、[aggregateField]、[aggregateType]。
**字段名称：**
- 配置项英文名：field
- 说明： 字段名称，表达式计算结果赋值给此属性，属性以JSON Path格式来表示，请填写JSON Path。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,1000}$。
**字段类型：**
- 配置项英文名：type
- 说明： 字段类型，输出字段的数据类型。类型转换失败时，字段取值为null。
- 类型： STRING
- 必选： 是
- 约束： 必须为INTEGER、LONG、FLOAT、DOUBLE之一 。
**被汇聚字段：**
- 配置项英文名：aggregateField
- 说明： 被汇聚字段，指定需要进行汇聚计算的字段。
- 类型： STRING
- 必选： 是
- 约束： 需要符合正则表达式： \^.{1,1000}$。
**聚合类型：**
- 配置项英文名：aggregateType
- 说明：聚合类型，指定聚合计算的方式。SUM、AVERAGE聚合计算仅支持INTEGER、LONG、FLOAT、DOUBLE类型的字段。
- 类型： STRING
- 必选： 是
- 约束： 必须为SUM、AVERAGE之一 。
**高级配置项**
**并行数：**
- 配置项英文名：parallelism
- 说明： 并行数，指定算子执行时的并行任务个数。对于性能要求越高的算子，可以设置较高的并行数，但是占用资源越多。如果此参数不设置，那么作业运行时本算子使用作业的并行数设置。
- 类型： INTEGER
- 必选： 否
- 约束： 最小值1， 最大值 1024。
 
