这是我参与更文挑战的第1天,活动详情查看: 更文挑战
什么是Flink
Flink的世界观是数据流
对 Flink ⽽⾔,其所要处理的主要场景就是流数据,批数据只是流数据的⼀个极限特例⽽已,所以 Flink也是⼀款真正的流批统⼀的计算引擎
无界流&有界流
无界流有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,即数据被摄取后需要立刻处理。我们不能等到所有数据都到达再处理,因为输入是无限的,在任何时候输入都不会完成。处理无界数据通常要求以特定顺序摄取事件,例如事件发生的顺序,以便能够推断结果的完整性
有界流有定义流的开始,也有定义流的结束。
有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处理通常被称为批处理
什么是有状态的计算?
每次进行数据计算的时候基于之前数据的计算结果(状态)做计算,并且每次计算结果
都会保存到存储介质中,计算关联上下文context
基于有状态的计算不需要将历史数据重新计算,提高了计算效率
什么是无状态的计算?
每次进行数据计算只是考虑当前数据,不会使用之前数据的计算结果
Flink的特点和优势
1、同时支持高吞吐、低延迟、高性能
2、支持事件时间(Event Time)概念,结合Watermark处理乱序数据
3、支持有状态计算,并且支持多种状态 内存、文件、RocksDB
4、支持高度灵活的窗口(Window)操作 time、count、session
5、基于轻量级分布式快照(CheckPoint)实现的容错 保证exactly-once语义
6、基于JVM实现独立的内存管理
7、Save Points(保存点)
(上面这些特点请看之后的文章)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END