flink的物理DataFlow图及Slot处理槽任务分配

本文详细解释了Flink中的逻辑DataFlow图、物理DataFlow图,以及处理槽执行任务的概念。重点阐述了在设定不同算子并行度时,为何实际使用的处理槽数量可能少于最大值,这是因为Flink的任务调度策略旨在在多任务并发时实现最优资源分配。
摘要由CSDN通过智能技术生成

背景

在flink中,有几个比较重要的概念,逻辑DataFlow图,物理DataFlow图以及处理槽执行任务,本文就来讲解下这几个概念

概念详解

假设有以下代码:数据源和统计单词算子的并行度是2,数据汇算子的并行度是1,当前集群有100个空闲的处理槽(分别从SLOT_{A,B,C…})
在这里插入图片描述
可以看到最终我们只使用了两个处理槽,分别是SLOT_A和SLOT_B,使用的处理槽的数量和设置的算子最大并行度一样,然后在每个处理槽内,对于每个任务,处理槽会分别开启一个Thread线程进行处理,这里你会不会觉得很奇怪,我还有这么多空闲的处理槽,为何只用了其中的两个?
这其实是由flink的任务调度策略决定的,其决定的依据这样分配当有很多job在同时执行时,可以达到最佳的资源分配,详见官方文档的解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值