在Flink中,有两种类型的并行度:算子并行度(Operator Parallelism)和全局并行度(Global Parallelism)。
-
算子并行度(Operator Parallelism):
- 算子并行度指的是每个算子实例的并行度。在Flink中,每个算子(例如
map
、filter
等)都可以独立设置其并行度。这表示算子将会有多个并发的实例,每个实例处理输入数据的一个子集。你可以通过setParallelism
方法来设置算子的并行度。
java Copy code
DataStream<T> stream = ...; stream.map(new MyMapFunction()).setParallelism(4);
- 算子并行度指的是每个算子实例的并行度。在Flink中,每个算子(例如
-
全局并行度(Global Parallelism):
- 全局并行度是整个应用程序中并行度的一个全局设置。你可以通过
setParallelism
方法在执行环境或数据流上设置全局并行度。这会影响到所有算子,除非某个算子显式设置了自己的并行度。
java Copy code
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(3); DataStream<T> stream = ...; // 此处的 map 算子将会继承全局并行度,除非它自己显式设置了并行度 stream.map(new MyMapFunction());
- 全局并行度是整个应用程序中并行度的一个全局设置。你可以通过
总体而言,全局并行度是整个应用程序的默认并行度,而算子并行度是对某个具体算子的设置。算子并行度可以覆盖全局并行度,如果某个算子设置了独立的并行度,它将以自己的并行度为准。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。