本文主要是介绍第四十一篇:Flink 面试源码篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
你好,欢迎来到第 41 课时,本课时我们主要讲解“Flink 面试-源码篇”。
Flink 的源码篇包含了 Flink 的核心代码实现、Job 提交流程、数据交换、分布式快照机制、Flink SQL 的原理等考察点。你应该记得,我们在前面近 40 个课时中几乎每一课时都有一定的篇幅是源码阅读,源码部分的考察是面试时十分重要的一关,如果你对 Flink 的源码有一定的研究而不仅仅停留在使用阶段,那么你的面试成功率将得到大幅提升。
我们本课时将把 Flink 面试中源码部分最高频的考点列举出来。
面试题 1:请从源码层面谈谈 Flink Job 的提交流程。
用户提交的 Flink Job 会被转化成一个 DAG 任务运行。Flink Job 的提交涉及的类主要包括:StreamGraph、JobGraph、ExecutionGraph、TaskManager、JobManager、ResourceManager。
JobManager 会把接收到的需要执行的应用程序进行打包,然后把 JobGraph 转换成可以执行的 ExecutionGraph,接着向 ResourceManager 请求执行任务所需要的资源,也就是我们之前课程中提到的 Slot,如果资源获取成功 JobManager 会负责所有的任务调度,比如 Checkpoint,并且将任务派发给 TaskManager 去执行。
这篇关于第四十一篇:Flink 面试源码篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!