这是我参加[第四届青训营]笔记创作活动的第2天。
其实可以学一下之前发的几篇论文
一、flink概述 1.1Apache Flink诞生背景 大数据:无法在一定时间内用常规工具处理的数据集合
为什么需要流式计算
大数据的实时性
批示计算(离线、静态)->流式计算(实时、动态、流批一体)
1.2Flink脱颖而出 流式计算引擎对比
1.3Apache Flink开源生态
二、Flink整体架构
2.1Flink分层架构
SDK层(软件开发工具包):sql\datastream\pyFlink
执行引擎层(runtime层):
状态存储层:负责存储算子的状态信息
资源调度层:目前Flink可以支持部署在多种环境
2.2Flink总体架构
应该包含的以下两个核心组件
jm:负责整个任务的协调工作
tm:负责执行一个dataflow grapth
2.3Flink作业示例
2.4Flink如何做到流批一体
这是之前的一些情况,所以才需要流批一体。
1、SQL层 2、DataStream API层统一 3、Schedular dag->task 4 Failover
三、Flink架构优化
四、详细理解
Flink 是一个针对流数据和批数据的分布式处理引擎。它主要是由 Java 代码实现。目前主要还是依靠开源社区的贡献而发展。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。再换句话说,Flink 会把所有任务当成流来处理,这也是其最大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。