flink Task并行度
时间: 2023-09-09 07:14:11 浏览: 115
Flink之slot、并行度、graph优化
Flink 中的 Task 并行度是指在 Flink 作业中一个算子(Operator)并行执行的实例数。在 Flink 中,每个算子都会分成多个 Task,每个 Task 都会并行执行,从而提高作业的整体并行度和执行效率。
Task 并行度的设置可以通过两种方式来实现:
1. 在代码中通过 `setParallelism()` 方法来设置,例如:
```java
DataStreamSource<String> source = env.socketTextStream("localhost", 9999);
DataStream<String> result = source
.flatMap(new WordCount.FlatMapFunction())
.keyBy(value -> value)
.sum(1)
.setParallelism(2);
```
在上述代码中,`setParallelism(2)` 表示将 `sum()` 算子的并行度设置为 2。
2. 在配置文件中通过 `parallelism.default` 参数来设置全局默认并行度,例如:
```properties
parallelism.default: 4
```
在上述配置中,表示将 Flink 作业中所有的算子并行度默认设置为 4。
需要注意的是,设置并行度过高可能会导致资源的浪费,而设置过低则可能会导致数据倾斜和任务执行时间过长。因此,需要根据具体情况进行调整。
阅读全文