1、flink关键字对比spark
flink |
spark |
operator |
RDD |
operator chain |
stage |
data flow |
DAG |
one to one |
窄依赖 |
redistribute |
宽依赖 |
subtask |
task |
task |
taskset |
partition |
partition |
Parallelism |
Parallelism |
2、任务调度流程
- client向HDFS提交flink的jar包和相关配置
- 然后向resourceManager提交任务,resourceManager分配Container资源并通知相应的NodeManager启动ApplicationMaster
- ApplicationMaster启动后加载flink的jar包和相关配置,同时启动jobManager
- ApplicationMaster向resourceManager申请资源启动taskManager
- resourceManager为taskManager分配资源后,由ApplicationMaster在对应的NodeManager上启动taskManager
- taskManager启动完成后,加载flink的jar包和相关配置
- taskManager向jobManager发送心跳包汇报运行状况,等待jobManager分配运行任务
3、Flink的执行图
- Flink会根据代码执行流程生成DAG数据流图,生成顺序为:streamGraph、jobGraph、executionGraph、物理执行图
- 1、streamGraph:程序原始执行流程图,也就是算子的依赖关系,在client上生成
- 2、jobGraph:对程序执行流程图进行一定程度的优化,如将one to one的operator生成operator chain,在client上生成
- 3、executionGraph:对程序中设置的并行度和提交的资源进行并行规划,在jobManager上生成
- 4、物理执行图:将executionGraph的并行计划落实到taskManager上,将subTask落实到具体的taskSlot上
4、Flink运行的组件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)