flink的一些基础知识

flink是⼀个分布式,⾼性能,随时可⽤的以及准确的流处理计算框架,

flink可以对**⽆界数据**(流处理)和有界数据(批处理)进⾏有状态计算(flink天⽣⽀持状态计算)的分

布式,⾼性能的计算框架。

二、flink****的基⽯

flink的四⼤基⽯:checkpoint,state,time,window

checkpoint:基于chandy-lamport算法实现分布式计算任务的⼀致性语义;

state:flink中的状态机制,flink天⽣⽀持state,state可以认为程序的中间计算结果或者是历史计算结果;

time:flink中⽀持基于事件时间和处理时间进⾏计算,spark streaming只能按照process time进⾏处

理; 基于事件时间的计算我们可以解决数据迟到和乱序等问题。

window:flink提供了更多丰富的window,基于时间,基于数量,session window,同样⽀持滚动和滑动窗 ⼝的计算。

三、flink****流处理和批处理

流处理:⽆界,实时性有要求,只需对经过程序的每条数据进⾏处理

批处理:有界,持久,需要对全部数据进⾏访问处理;

spark:spark⽣态中是把所有的计算都当做批处理,spark streaming中流处理本质上也是批处理

(micro batch);

flink:flink中是把批处理(有界数据集的处理)看成是⼀个特殊的流处理场景;flink中所有计算都是流 式计算;

四、flink中重要角色

JobManager: 类似 spark 中 master,负责资源申请,任务分发,任务调度执行,checkpoint 的协调执行;可以搭建 HA,双 master。

TaskManager: 类似 spark 中的 worker,负责任务的执行,基于 dataflow (spark 中 DAG) 划分出的 task; 与 jobmanager 保持心跳,汇报任务状态。

五、有界数据和无界数据

无界数据流:数据流是有一个开始但是没有结束;

有界数据流:数据流是有一个明确的开始和结束,数据流是有边界的。

flink 处理流批处理的思想是:

flink 支持的 runtime (core 分布式流计算) 支持的是无界数据流,但是对 flink 来说可以支持批处理,只是从数据流上来说,有界数据流只是无界数据流的一个特例,无界数据流只要添加上边界就是有界数据流。

相关推荐
NiceCloud喜云1 天前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
Are_You_Okkk_1 天前
基于MonkeyCode解析AI研发新模式,根治开发低效痛点
大数据·人工智能·开源·ai编程
阿坤带你走近大数据1 天前
Paimon相关概念的介绍
flink·数据湖·paimon
科技AI训练师1 天前
2026高压清洗泵厂家选择指南:判断标准与选购要点
大数据·人工智能
Percent_bigdata1 天前
“模数共振”开启产业AI新阶段,重新定义数据治理
大数据·人工智能
狒狒热知识1 天前
2026年AI传播新闻软文营销发布当下178软文网领衔发展路径
大数据·人工智能
出海小龙1 天前
B2B 跟 B2C 的联盟营销有何根本区别?以及分别如何真正推动增长?
大数据·人工智能
QiLinkOS1 天前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
不做无法实现的梦~1 天前
git指令速查
大数据·elasticsearch·搜索引擎