Partitioner¶
将每个批次内的 records 按照特定条件进行分区,一般用于同一个设备不同点之间的联合运算,或者不同设备之间点的运算。具体功能如下:
- 支持自定义分区条件
- 自定义分区条件支持路径表达方式,比如
/assetId
表示根据每个 record 下assetId
字段的值进行分区 - 该算子不支持血缘解析
配置详情¶
该算子的配置包括 General 和 Partitioner 的详细信息,各字段的配置如下:
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 | 对错误数据的处理方式,可选:
|
Partitioner¶
名称 | 是否必须 | 描述 |
---|---|---|
Parallelism (Standalone Mode Only) | Yes | Standalone 模式下每个批次的数据需要创建的分区数 |
Application Name (Standalone Mode Only) | Yes | Standalone 模式下运行算子的应用名称,默认值为:SDC Spark App |
Init Method Arguments | Yes | 分区规则,每一条必须输入分区字段,输入的字段格式为 record 的字段,比如 /assetId 表示将同一 assetId 下的 records 分配到同一个分区内 |