【发布时间】:2018-12-04 10:03:54
【问题描述】:
【问题讨论】:
标签: apache-flink
【问题讨论】:
标签: apache-flink
这里解释了任务和子任务 -- https://ci.apache.org/projects/flink/flink-docs-release-1.7/concepts/runtime.html#tasks-and-operator-chains:
任务是一种抽象,表示可以在单个线程中执行的一系列运算符。诸如 keyBy 之类的东西(导致网络洗牌通过某个键对流进行分区)或管道并行度的变化会破坏链接并迫使操作员进入单独的任务。在上图中,应用程序具有三个任务。
子任务是任务的一个并行切片。这是可调度、可运行的执行单元。在上图中,应用程序将在 source/map 和 keyBy/Window/apply 任务中以 2 个并行度运行,而在 sink 上以 1 个并行度运行 - 总共有 5 个子任务。
作业是应用程序的运行实例。客户端向作业管理器提交作业,作业管理器将它们分割成子任务并安排这些子任务由任务管理器执行。
更新:
社区决定重新调整任务和子任务的定义,以匹配这些术语在代码中的使用方式——这意味着任务和子任务现在意味着同一件事:恰好一个并行实例运算符或运算符链。有关详细信息,请参阅Glossary。
【讨论】: