Partitioner

将每个batch内的records按照特定条件进行分区,一般用于同一个不同点之间的联合运算,或者不同设备之间点的运算。 具体功能如下:

  • 支持用户自定义分区条件
  • 自定义分区条件支持路径表达方式,比如/assetId表示根据每个record下assetId字段的value进行分区
  • 不支持血缘注册

Configuration

该算子的配置包括General、Partitioner的详细信息,各字段的配置如下:

General

名称 是否必须 描述
Name Yes 算子名称
Description No 算子描述
Stage Library Yes 算子所属的库
Required Fields No 数据必须包含的字段,如果未包含指定字段,则record将被过滤掉
Preconditions No 数据必须满足的前提条件,如果不满足指定条件,则record将被过滤掉
On Record Error Yes 对错误数据的处理方式 Discard:直接丢弃;Send to Error:发送至错误中心;Stop Pipeline:停止流任务运行

Partitioner

名称 是否必须 描述
Parallelism (Standalone Mode Only) Yes standalone模式下本stage需要worker数量
Application Name (Standalone Mode Only) Yes standalone模式下本stage的运行Application name,默认值为:SDC Spark App
Init Method Arguments Yes 分区rules,每一条必须输入分区字段,输入的字段格式为record的字段,比如/assetId 表示将同一assetId下的records分配到同一个分区内

Output Results

该算子的输出结果为进行分区后的records

Output Example

../../../_images/partitioner_result.jpg