更新时间:2022-06-27 GMT+08:00
数据聚合
算子简介
- 名称: 数据聚合
- 功能说明: 数据聚合算子,将数据按窗口周期进行汇聚计算,以达到规约数据的目的。
- 约束:下游不允许对接数据源及产品过滤算子。
算子配置
基础配置项
算子名称:
- 配置项英文名: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。
父主题: 转换类算子