Flink

概念

Apache Flink 是一个框架分布式处理引擎,用于对无界和有界数据流进行状态计算

为什么选择flink

流数据更真实的反映我们的生活方式
低延迟 flink毫秒级 spark streaming 秒级
高吞吐 (阿里每秒使用Flink处理4.6PB 双十一大屏)
结果的准确性和良好的容错性

名字解释

状态

flink spark 都是有状态的,比如 底层都维护了一个累加器,来保存当前的状态,点击、浏览次数之类的,还可以把状态存储到hdfs中

时间语义化

比如说1970-01-01 00.00 .07发生了点击事件,遇到了网络延迟,可能过了一天才发送到机器上,那sparkstreaming就获取不到那个时间的点击事件了,因为他是按照到达机器的时间,没有办法按照事件本来发生的时间去处理,但flink不会 他仍会通过自己的机制把数据放到【00.00.00,00.00.10】时间窗口中去。他是处理的事件时间。

事件驱动

flink 来一条数据 一个事件就会驱动程序运行
spark 不是,它是要攒一批数据,才能驱动
前端的话 比如ajax 点击按钮 定时器
后端的话 异步IO

事件时间和处理时间

事件时间:事件发生的时间
处理时间:事件由于网络延迟等问题,到达机器的时间,而spark仅支持处理时间
flink支持事件时间(event-time)和处理时间(processing-time)

posted @ 2022-05-25 11:39  triumph丶xs  阅读(36)  评论(0编辑  收藏  举报