Flink术语

十念  金牌会员 | 2025-3-16 22:39:28 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 996|帖子 996|积分 2988

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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表