目录
1 Flink是什么?
分布式处理引擎
基于内存进行计算
可处理有界和无界数据流任务
处理过程中都会以一种状态的方式进行保存数据
1.1 无界流 VS 有界流
无界流 | 有界流 |
定义了开始,没有定义结束,无休止产生数据 | 定义了开始也定义了结束 |
数据必须持续处理 | 所有数据取完之后再进行计算 |
要按照特定顺序摄取事件 | 不需要特定顺序摄取事件 |
1.2 flink的优势
高吞吐
低延迟
基于内容计算的实时框架
可以将Flink当数据管道进行处理
实现实时的ETL
可以基于流式数据的基础上建立实时监控分析系统
基于流处理分批处理,本身是流数据
这边我就得说一下sparkstreaming了
基于流处理,但是把批分成流,本质还是批处理
1.3 flink的发展历史
08年研发发布
14年纳入Apache项目分支
19年被阿里收购,更名blink
1.4 fink可以做什么
实时数仓
实时分析平台
实时监控系统
1.5 开发分类
批处理:封装对象就是dataset
流处理:封装对象就是datastream
1.6 安装模式
local
standalone
yarn
1.6.1 standalone
组件 | 解释 |
JobManager | 相当于Master,管理者,管理各个TaskManager |
TaskManager | 相当于Worker,执行者,处理各种任务请求,执行任务 |
TaskSlot | 相当于Core数量,每个TaskManager1个到多个,可以自行配置 |
Task | 最小的任务单元,由每个Slot处理 |
并行度 | 默认为1 ,可以根据实际调大或者调小并行度 |
1.6.2 Yarn
yarn的session 模式
组件 | 解释 |
FlinkYarnSessionCli | 表示用户提交的任务对象,用来接收任务请求,将任务发送至服务器Server |
YarnSessionClusterEntrypoint | 相当于服务器端,类似于JobManager |