← 返回首页
并行度介绍及四种设置方式
发表时间:2023-12-20 01:05:52
并行度介绍及四种设置方式

并行度介绍及四种设置方式。

1.并行度(Parallel)

一个Flink程序由多个组件组成(Source、Transformation和 Sink)。 一个组件由多个并行实例(线程)来执行, 一个组件的并行实例(线程)数目就被称为该组件的并行度。

2.TaskManager与Slot

Flink的每个TaskManager为集群提供Solt, Solt的数量通常与每个TaskManager节点的可用CPU数量成比例,一般情况下Slot的数量就是每个节点的可用CPU数量。

3.并行度的设置

Flink任务的并行度可以通过4个层面来设置。

这些并行度优先级为Operator Level>Execution Environment Level>Client Level>System Level

1).并行度设置之Operator Level

算子、数据源和目的地的并行度可以通过调用 setParallelism()方法来指定。

2).并行度设置之Execution Environment Level

执行环境层面的并行度可以通过调用setParallelism()方法指定。为了以并行度3来执行所有的算子、数据源和目的地,可以通过如下的方式设置执行环境的并行度。

注意:执行环境的并行度可以通过显式设置算子的并行度而被重写。

3).并行度设置之Client Level

并行度还可以在客户端提交Job时设定。通过-p参数指定并行度。

bin/flink run -p 10 FlinkDemo.jar

这里表示把并行度设置为10。

4).并行度设置之System Level

在系统层面可以通过设置flink-conf.yaml文件中的parallelism.default属性来指定所有执行环境的默认并行度。