flink之slot、并行度、任务链

写在前面:

  • 不仅要做知识的搬运工,还要做知识的再加工,让印象更加深刻。
  • 参考链接:详情链接
  • 下面对参考链接的某一部分做更详细的说明,方便以后查看。
    在这里插入图片描述
    图示6处的说明:
  • 1.slot中文意思"插槽"
    • slot表示taskmanager可管理内存的一个固定大小的子集(默认均分)。比如taskmanager的管理内存是3GB,假如有两个slot,那么每个slot就仅仅有1.5GB内存可用。
    • 默认情况下,flink允许子任务共享slot,即使他们是不同任务的子任务(前提是他们来自同一个job),这样,一个slot就可以保存作业的整个通道。比如这个slot中的三个任务就是不同任务的子任务。
  • 2.并行度,一个特定算子的子任务的个数被称之为其并行度,可以认为一个流程序的并行度是:所有算子中最大的并行度(一个程序中,不同的算子并行度可能不同)。
    • 可以看到source算子被分成了6个子任务,所以它的并行度就是6。
    • 另外source和map由于任务链被链接成了一个task。任务链优化的前提是相同并行度且是one to one(类似于spark中的窄依赖)操作。好处是减少线程之间的切换和基于缓存区的数据交换(因为合并成一个subtask了,即共用一个线程),在减少时延的同时提升吞吐量。
  • 3.因为是资源密集型的算子的子任务在不同的slot中,所以可以做到负载均衡。
  • 4.非资源密集型的子任务和资源密集型的子任务不被放到同一个slot中的意义何在?可能是有些taskmanager的资源不够放非密集型,资源够的放资源密集型?(子任务还是放到不同的slot中,所以负载也是均衡的)
  • 5.如1中所述
  • 6.实际并行度可以在代码中、提交时、集群配置文件中设定。优先级是代码>提交任务时>集群配置
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值