一.产生
背景:实时数据处理所带来的价值远远大于离线处理,所以需要一个优秀的流处理框架来进行流数据的处理操作.
流数据:一行一行的数据记录
一个优秀的流处理引擎标准要求:低延迟、高吞吐量、容错性、窗口时间语义化、编程效率高、运行效果好等
二.概念
由Apache软件基金会开发的开源流处理框架,核心由Java和Scala编写的,应用与对有界和无界的数据流进行有状态的计算
无界数据流:即为实时数据流
无界数据流:即为离线数据,批处理
2.1特点和应用场景
可以在所有常见的集群环境中运行,以内存速度和任何规模进行计算。能够达到实时流处理引擎的全部标准。
要求严格的实时流处理场景
2.2代码实现
实现方式:java API Scala API
将实时和批处理均抽象成三个过程:Source->Transform->Sink
丰富的API和算子操作,支持sql编程,复杂度并不高
三.版本介绍
Flink早期就收到阿里的认可,并进行二次开发,名为Blink。
Blink主要优化再用户体验方面,比如SQL、UI等
在2019年反馈给Flink,并以Flink为主进行开发.学习使用的是1.13.1