Flink理论:并行度、槽位分配、任务与子任务

本文图片来源网络,侵删

并行度( Parallelism)

 

  • 一个特定算子的子任务( subtask)的个数被称之为其并行度( parallelism)。  一般情况下,一个 stream的并行度,可以认为就是其所有算子中最大的并行度。

TaskManager 和 Slots

 

  • Flink 中每一个TaskManager都是一个JVM进程,它可能会在独立的线程上执行一个或多个子任务

  • 为了控制一个TaskManager能接收多少个 task, TaskManager 通过 task  slot 来进行控制(一个TaskManager至少有一个 slot)

  • 正常排列分配:如下图一样竖着排,用两个Task Slot搞定。

  • 实现上图分配(竖置转为横置):设置Slot共享组,每个算子后边都可以追加(和单独设置并行度一样).slotSharingGroup("1"),不同的共享组的操作不可能在同一个Task Slot里,没有设置则默认和前一个操作的共享组一致,第一个操作的共享组默认是default,此时所需的slot数量不再是等于最大并行度了,而是叠加各组的最大并行度。

 

  • 默认情况下, Flink 允许子任务共享 slot, 即使它们是不同任务的子任务。 这样的结果是,一个 slot 可以保存作业的整个管道(pineline)

  • Task Slot 是静态的概念,是指 TaskManager 具有的并发执行能力

并行子任务的分配

 有A和C两个输入流,二者虽然是不同的流,但仍然能共享一个slot

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值