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