Flink|青训营笔记

70 阅读1分钟

这是我参加[第四届青训营]笔记创作活动的第2天。

其实可以学一下之前发的几篇论文

一、flink概述 1.1Apache Flink诞生背景 大数据:无法在一定时间内用常规工具处理的数据集合

image.png 为什么需要流式计算 大数据的实时性 批示计算(离线、静态)->流式计算(实时、动态、流批一体)

1.2Flink脱颖而出 流式计算引擎对比

image.png 1.3Apache Flink开源生态

image.png

二、Flink整体架构 2.1Flink分层架构 SDK层(软件开发工具包):sql\datastream\pyFlink 执行引擎层(runtime层): image.png 状态存储层:负责存储算子的状态信息 资源调度层:目前Flink可以支持部署在多种环境 2.2Flink总体架构 应该包含的以下两个核心组件 jm:负责整个任务的协调工作 tm:负责执行一个dataflow grapth

image.png

image.png 2.3Flink作业示例

2.4Flink如何做到流批一体

image.png 这是之前的一些情况,所以才需要流批一体。

1、SQL层 2、DataStream API层统一 3、Schedular dag->task 4 Failover

三、Flink架构优化

四、详细理解

Flink 是一个针对流数据和批数据的分布式处理引擎。它主要是由 Java 代码实现。目前主要还是依靠开源社区的贡献而发展。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。再换句话说,Flink 会把所有任务当成流来处理,这也是其最大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。