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 来说可以支持批处理,只是从数据流上来说,有界数据流只是无界数据流的一个特例,无界数据流只要添加上边界就是有界数据流。

相关推荐
程序鉴定师1 分钟前
西安App开发推荐与业界认可的优秀实践
大数据·小程序
workflower28 分钟前
从拿订单到看方向
大数据·人工智能·设计模式·机器人·动态规划
CableTech_SQH44 分钟前
F5G 全光网,赋能智慧校园数字化建设
大数据·网络·5g·运维开发·信息与通信
goyeer1 小时前
【ITIL4】- 服务价值体系
大数据·运维·信息化·自动运维·itil
精益数智小屋1 小时前
设备维护方案核心功能拆解:一套好的设备维护方案如何解决设备突发故障
大数据·运维·网络·数据库·人工智能·面试·自动化
极创信息2 小时前
信创软件快速适配信创改造,实战落地思路
java·大数据·数据库·人工智能·mvc·软件工程·hibernate
刘一说2 小时前
AI科技热点日报 | 2026年5月10日
大数据·人工智能·科技
WL_Aurora3 小时前
HDFS底层原理深度解析 | 读写流程、NameNode工作机制、DataNode心跳与数据完整性
大数据·hadoop·hdfs
面向Google编程4 小时前
从零学习Kafka:生产者压缩
大数据·kafka
workflower5 小时前
企业酝酿数智化内驱力
大数据·人工智能·设计模式·机器人·动态规划