Flink源码解析
文章平均质量分 82
Flink源码解析,深入理解Flink
Yuan_CSDF
被大数据埋没的销售人才
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FlinkSQL源码解析(三)执行流程
1、前言前面2部分主要是介绍以下2点:flink sql整体的执行流程大致为:sqlNode --> Operation --> RelNode --> 优化 --> execNode --> Transformation。 以及flink sql源码解析需要使用到的java spi。 现在具体来看看flink sql 在其内部转换的实现步骤,就是如何去调用连接器,主要是在sqlNode --> RelNode这一步。...原创 2022-03-13 23:08:06 · 3620 阅读 · 0 评论 -
FlinkSQL源码解析(二)Java SPI机制
在前面已经了解了FlinkSQL的转换流程,即如何从excuteSql(sql)如何转换为transformation,到任务的提交。整体流程大致为:sqlNode --> Operation --> RelNode --> 优化 --> execNode --> Transformation现在想更深入的了解,我们书写的sql语句是如何通过connecter属性连接kafka、hdfs等,为修改源码新增connector做铺...原创 2022-03-11 23:16:05 · 3408 阅读 · 0 评论 -
FlinkSQL源码解析(一)转换流程
1、前言1.1、JavaCCJavaCC(Java Compiler Compiler)是一个开源的语法分析器生成器和词法分析器生成器。JavaCC通过词法和语法描述文件来生成分析器。flink通过java CC生成分析器用于sql解析和校验。如下图:在flink-table下的flink-sql-parser项目中,org.apache.flink.sql.parser.impl下的类,就是使用javacc生成的。1.2、Calcite...原创 2022-03-10 12:44:27 · 6611 阅读 · 1 评论 -
Flink源码解析(四)Flink应用程序的提交
这里包含Graph的处理,最终生成物理执行图,以及Slot到发布Task到TaskExecutor上运行。如下所示:Flink编程套路总结 Flink提交执行脚本分析 Flink CliFronted提交应用程序源码剖析 ExecutionEnvironment源码解析 Job提交流程源码分析 StreamGraph构建和提交源码解析 JobGragh构建和提交源码解析 ExecutionGragh构建和提交源码解析 Slot管理(申请)源码解析 Task提交到Task...原创 2021-08-11 23:08:08 · 1629 阅读 · 1 评论 -
Flink源码解析(三)TaskManager启动分析
1、Flink主节点TaskManager启动分析:TaskManager是Flink的worker节点,它负责Flink中本机slot资源的管理以及具体task的执行。TaskManager上的基本资源单位是slot,一个作业的task最终会部署在一个TM的slot上运行,TM会负责维护本地的slot资源列表,并来与FlinkMaster和JobManager通信。根据前面的启动分析:TaskManager的启动主类:TaskManagerRunne...原创 2021-07-30 23:43:14 · 1698 阅读 · 1 评论 -
Flink源码解析(二)JobManager启动分析
1.Flink主节点JobManager启动分析:1、JobManager是Flink集群的主节点,它包含三大重要的组件:ResourceManager Flink的集群资源管理器,只有一个,关于slot的管理和申请等工作,都由他负责 Dispatcher 负责接收用户提交的JobGraph,然后启动一个JobManager,类似于YARN集群中的AppMster角色,类似于Spark Job中的Driver角色 JobManager 负责一个具体的Job的执行,在一个集群中,可以原创 2021-07-21 23:30:27 · 1575 阅读 · 2 评论 -
Flink源码解析(一)start-cluster.sh脚本分析
为深入的理解Flink的工作机制,从现在开始学习Flink源码。包括Flink集群启动流程,任务执行流程。1.start-cluster.sh在图中可以看到 。Flink的JobManager与TaskManager都是通过flink-daemon.sh来启动。传入到flink-daemon.sh脚本大致分别为:JobManager:flink-daemon.sh start standalonesessionTaskManger:flink-daemon.sh start task原创 2021-05-24 01:09:50 · 1354 阅读 · 0 评论
分享