Flink从无到有(1)

这是我参与更文挑战的第1天,活动详情查看: 更文挑战

什么是Flink

Flink的世界观是数据流

对 Flink ⽽⾔,其所要处理的主要场景就是流数据,批数据只是流数据的⼀个极限特例⽽已,所以 Flink也是⼀款真正的流批统⼀的计算引擎

无界流&有界流

无界流有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,即数据被摄取后需要立刻处理。我们不能等到所有数据都到达再处理,因为输入是无限的,在任何时候输入都不会完成。处理无界数据通常要求以特定顺序摄取事件,例如事件发生的顺序,以便能够推断结果的完整性

有界流有定义流的开始,也有定义流的结束。

有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处理通常被称为批处理

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/098d20ed-16c0-44be-a942-b6c0b409e5a0/bounded-unbounded.png

什么是有状态的计算?

每次进行数据计算的时候基于之前数据的计算结果(状态)做计算,并且每次计算结果

都会保存到存储介质中,计算关联上下文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
喜欢就支持一下吧
点赞0 分享