Flink task和subTask_大数据私房菜的博客

CSDN博客_flink subtask · · 130 次点击 · · 开始浏览    

概念:

  • Task(任务):Task 是一个阶段多个功能相同 subTask 的集合,类似于 Spark 中的 TaskSet。
  • subTask(子任务):subTask 是 Flink 中任务最小执行单元,是一个 Java 类的实例,这个 Java 类中有属性和方法,完成具体的计算逻辑。
  • Operator Chains(算子链):没有 shuffle 的多个算子合并在一个 subTask 中,就形成了 Operator Chains,类似于 Spark 中的 Pipeline。
  • Slot(插槽):Flink 中计算资源进行隔离的单元,一个 Slot 中可以运行多个 subTask,但是这些 subTask 必须是来自同一个 application 的不同阶段的 subTask。
     

如何划分Task:

  1. 并行度发生变化时;
  2. keyBy() /window()/apply() 等发生 Rebalance 重新分配;
  3. 调用 startNewChain() 方法,开启一个新的算子链;
  4. 调用 diableChaining()方法,即:告诉当前算子操作不使用 算子链 操作。将其单独划分,形成一个task,和其他算子不再有Operator Chains

Parallel Dataflows

 上图并行数据流,一共有 3个 Task,5个 subTask。(红框代表Task,黑框代表subTask)

 

本文来自:CSDN博客_flink subtask

感谢作者:CSDN博客_flink subtask

查看原文:Flink task和subTask_大数据私房菜的博客

130 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传