Flink支持OLAP场景| 青训营笔记
这是我参与「第四届青训营 」笔记创作活动的的第11天
Flink支持OLAP场景
Flink做OLAP的优势
OLAP场景的挑战
Flink OLAP架构现状
-
Client:提交SQL Query;
-
Gateway
- 接收Client提交的SQL Query,对 SQL进行语法解析和查询优化,生成 Flink作业执行计划,提交给session集群;
-
Session Cluster
- 执行作业调度及计算,并返回结果。
Flink在OLAP架构的问题与设想
-
架构与功能模块:
- JobManager与ResourceManager在一个进程内启动,无法对JobManager进行水平扩展;
- Gateway 与Flink Session Cluster 互相独立,无法进行统一管理。
-
作业管理及部署模块:
- JobManager处理和调度作业时,负责的功能比较多,导致单作业处理时间长、并占用了过多的内存;
- TaskManager部署计算任务时,任务初始化部分耗时严重,消耗大量CPU。
-
资源管理及计算任务调度:
- 资源申请及资源释放流程链路过长
- Slot作为资源管理单元,JM管理slot资源,导致JM无法感知到TM维度的资源分布,使得资源管理完全依赖于ResourceManager
-
其他:
- 作业心跳与Failover机制,并不合适AP这种秒级或毫秒级计算场景;
- AP目前使用Batch算子进行计算,这算子初始化比较耗时;
总结
Apache Flink 最终演进到结果如下:
Flink概述
流式计算场景及流式计算框架发展历程 业内主要流式计算框架对比、为什么Flink 能够脱颖而出 Flink整体架构
Flink的分层架构、Flink前的教大加人多
一个Flink 作业如何调度和运行起来;
Flink如何做到流批一体;
Flink架构优化
流/批/OLAP三种业务场景概述;
Flink如何来支持OLAP场景需求,需要做哪些架构上的优化;
精选案例讲解

浙公网安备 33010602011771号