Flink专题六:Flink 中并行度的概念及使用

由于工作需要最近学习flink
现记录下Flink介绍和实际使用过程
这是flink系列的第六篇文章

并行度

一个任务(Source、Transformation、Sink)的并行实例(线程〉数目称为该任务的并行度

在这里插入图片描述

Slots

Slots概念

在flink中,把对资源的最小抽象称作slot,可以理解为是资源的最小管理单位,它是TaskManager资源的一个子集。通过slot,flink将资源进行有效的划分和管理。注意,CPU资源并不是每个slot所独享的,而是共享的。
每个TaskManager拥有几个slot,就代表这个TaskManager能够提供的并发能力就是几,但实际的并行度也有可能小于这个数字。
在这里插入图片描述

slot共享

flink中允许一个任务的不同子任务共享同一个slot,也允许不同任务的不同子任务共享同一个slot,前提是这些子任务不属于同一种操作类型的任务。通过slot共享,能够让资源密集型子任务(Source,Map)和资源密集型子任务(KeyBy/Window/Apply)能够充分利用资源,避免闲的闲死,忙的忙死。
在这里插入图片描述

并行度的使用方法

Operator Level (算子层面
在这里插入图片描述
Execution Environment Level (执行环境层面
在这里插入图片描述
Client Level (客户层面
客户端提交 Job到Flink时-p参数设置:

./bin/flink run -p 10 WordCount- java . jar

System Level (系统层面

flink-conf. yaml文件
使用parallelism.default属性来设置所有执行环境的默认并行度。

并行度优先级

一个任务的并行度设置包含下面4个层面:

  1. Operator Level (算子层面〉
  2. Execution Environment Level (执行环境层面〉
  3. Client Level (客户 层面〉
  4. System Level (系统层面)

优先级为 Operator Level> Execution Environment Level>Client Level>System Level

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值