IT评测·应用市场-qidao123.com
标题:
Flink术语
[打印本页]
作者:
十念
时间:
2025-3-16 22:39
标题:
Flink术语
Flink Application:
一个完整的Flink步调代码叫做一个Flink Application,其始于一个或多个Source,终于一个或多个Sink,中间由一个大概多个Operator(算子)组合对数据举行转换形成Transformation。 编写Flink代码要符合一定的流程,起首我们必要创建Flink的执行环境(Execution Environment), 然后再加载数据源Source,对加载的数据举行Transformation转换,进而对效果Sink输出,末了还 要执行env.execute()来触发整个Flink步调的执行,编写代码时将以上完整流程放在main方法中形成 一个完整的Application。
Flink Job:
一个Flink Application中可以有多个Flink Job,每次调用execute()大概executeAsyc()方法可以触 发一个Flink Job
execute()
:该方法为壅闭方法,当一个Flink Application中执行多次execute()方法触发多个 job时,下一个job的执行会被推迟到该job执行完成后再执行。
executeAsyc()
:该方法为非壅闭方法,一旦调用该方法触发job后,后续还有job也会立即提交执行。
Flink Application 并行度:
一个 Flink Application 的并行度 通常以为是全部Operator中最大的谁人并行度 。
算子链:
Flink中算子之间的数据流向是one-to-one,算子的并行度也一样。那么这些算子可以合并成一个算子链。
Task & SubTask:
Flink中一个Task对应的是一个算子大概多个算子逻辑(算子链)。 Task会按照并行度划分成多个Subtask,每个Subtask由一个Thread线程 执行。 Flink使命调度的基本单元:Subtask
StreamGraph & JobGraph & ExecutionGraph:
Flink Application
提交后在 客户端 转换成
StreamGraph(使命流图)
, StreamGraph是没有经过任何优化的流图,展示的是步调团体执行的流程。StreamGraph进而会按照默认的Operator Chains算子链合规则转换成
JobGraph(作业图)
,在JobGraph中会将并行度相同且数据流转关系为One-to-one关系的算子合并在一起由一个Task举行处理。 JobGraph会被提交给 JobManager ,最终由JobManager中JobMaster转换成
ExecutionGraph(执行图)
,ExecutionGraph中会按照每个算子并行度来划分对应的
Subtask
,每个Subtask最终再次被转换成其他可以部署的对象发送到TaskManager上执行。
Task Slot:
Flink集群中每个TaskManager是一个JVM进程,可以在TaskManagr中执行一个大概多个线程(Subtask),为了能控制一个TaskManager中吸收多少个SubTask,TaskManager节点上提供了 TaskSlot(使命槽)。 每个TaskSlot可以运行一个大概多个S ubtask。每个JobManager上至少有一个TaskSlot。 每个taskSlot都有固定的资源,会均分TaskMananger中的内存,共享和竞争TaskManger进程的CPU。由于T askslot只会对内存举行隔离不会对CPU举行隔离,一台TaskManager Taskslot越多 意味着越多的taskslot争夺CPU资源,以是 T
askslot的值设置建议和该TaskManager节点CPU
core的数量保持一致
。
SlotSharingGroup共享组(SSG):
Flink允许同一JOB的SubTask共享同一个TaskSlot,即一个TaskSlot可以持有整个流程的SubTask。
我们在提交Flink Application 时
不再必要衡量
Flink集群中的TaskSlot个数是否满意
Flink Application总的 subtask数。而是关注Flink集群所需的TaskSlot个数与Flink Application的并行度一样 引入了SSG,Flink集群会集理分配 CPU密集型SubTask 和 非CPU密集型SubTask (source / sink)运行时占用的CPU资源 如果一个Flink 使命有多个共享组,那么该Flink使命所需的总slot个 数就是每个共享组最大并行度的总和 。
TaskSlot与并行度关系:
TaskSl ot是静态概念,指的是 Flink TaskManager 可以大概并发执行的 task 数。 并行度是动态概念,指的是 每个Flink Application实际的并发能力 。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4