1.Flink是什么
Apache Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行状态计算
2.Flink发展时间线
- 2014年12月,Flink项目完成孵化
- 2015年4月,Flink发布了里程碑式的重要版本0.9.0
- 2019年8月阿里巴巴将内部的Blink开源,合并入Flink1.9.0版本
3.Flink框架处理流程
4.Flink应用场景
5.为什么选择Flink
- 低延迟
- 高吞吐
- 结果的准确性和良好的容错性
- 精确一次的状态保证
6.传统数据处理
(1).事务处理
(2).分析处理
- 有状态的流式处理
- lambda架构(第二代流处理)
用两套系统,同时保证低延迟和结果准确
- Kappa架构(第三代流处理,flink)
7.Flink API
8.Flink vs Spark
(1).数处理架构
(2).数据模型
- spark采用RDD模型,spark streaming 的Dstream实际上也就是一组组小批数据的RDD
- Flink基本数据模型是数据流,以及事件(Event)序列
(3).运行时架构
- spark是批计算,将DAG划分为不同的stage,一个完成后才可以计算下一个
- flink是标准的流执行模式,一个事件在一个节点处理完后可以直接发往下一个节点进行处理