这里解释了任务和子任务 -- https://ci.apache.org/projects/flink/flink-docs-release-1.7/concepts/runtime.html#tasks-and-operator-chains: 一个任务是一个抽象,代表着一系列可以在单个线程中执行的操作器链。例如keyBy(通过某个键对流进行网络分区)或管道并行度的更改都会打破链接并强制操作器进入单独的任务。在上图中,应用程序有三个任务。子任务是任务的一个并行切片。这是可调度、可运行的执行单元。在上面的图中,应用程序将以源/映射和keyBy/窗口/应用任务的并行度为2运行,并以汇聚的并行度为1运行,从而总共产生5个子任务。作业是应用程序的运行实例。客户端将作业提交给作业管理器,它将它们切成子任务,并安排这些子任务由任务管理器执行。更新:社区决定重新对齐任务和子任务的定义,以匹配这些术语在代码中的使用方式--这意味着任务和子任务现在意味着同样的事情:一个操作器或操作器链的正好一个并行实例。有关详细信息,请参见词汇表。