flink 任务并行度
时间: 2023-09-26 19:08:43 浏览: 97
Flink任务的并行度指的是将一个任务分成多个子任务并行处理的能力。在Flink中,每个任务都可以设置并行度,即指定该任务将会有多少个子任务并行执行。通常情况下,一个任务的并行度应该与集群中可用的资源相匹配,以最大化集群的利用率。
Flink任务的并行度可以在代码中设置,也可以在Flink的Web界面中配置。在代码中,可以使用setParallelism()方法来设置任务的并行度,如下所示:
```
DataStreamSource<String> source = env.socketTextStream("localhost", 9999);
DataStream<String> result = source.flatMap(new FlatMapFunction<String, String>() {
@Override
public void flatMap(String value, Collector<String> out) throws Exception {
// TODO Auto-generated method stub
out.collect(value.toUpperCase());
}
}).setParallelism(4);
```
在Web界面中,可以在任务的配置页面中设置并行度。具体操作方式如下图所示:
![flink任务并行度设置示意图](https://img-blog.csdnimg.cn/20211021171319833.png)
需要注意的是,Flink任务的并行度设置过高会导致资源浪费,设置过低会导致任务执行缓慢。因此,在设置并行度时需要根据任务的计算复杂度、数据规模以及集群的资源情况综合考虑。
阅读全文