1 、反压机制
Flink 在数据传输过程中使用了分布式阻塞队列,一个阻塞队列中,当队列满了以后发送者会被天然阻塞住,这种阻塞功能相当于给这个阻塞队列提供了反压的能力。
Spark Streaming 为了实现反压这个功能,在原来的架构基础上构造了一个 " 速率控制器 " ,这个 " 速率控制器" 会根据几个属性,如任务的结束时间、处理时长、处理消息的条数等计算一个速率。在实现控制数据的接收速率中用到了一个经典的算法,即"PID 算法 " 。
2 、延迟方面
Spark Streaming 是秒级别的
Structured Streaming 是毫秒级别的
Flink 是亚秒级别的
3 、状态存储方面
Spark 的状态管理目前做的比较简单 , 只有两个对应的算子( UpdateStateByKey 和 mapWithState )。
Flink 提供文件、内存、 RocksDB 三种状态存储,五种类型的状态,( ValueState , ListState ,
ReducingState , AggregatingState , FoldingState , MapState )。
4 、灵活的窗口
Spark 只能根据处理时间窗口批量处理。
Flink 可以基于处理时间,数据时间,没有记录等的窗口。
5 、实时方面
Flink 是真正的实时计算,在状态数据和 Checkpoint 容错上做的比较好,能够做到 exactly once 。
流式处理,为什么Flink比Spark Streaming好?
lucky_syq2024-12-23 22:06
相关推荐
Dobby_059 小时前
【Hadoop】Yarn:Hadoop 生态的资源操作系统数智顾问9 小时前
基于Hadoop进程的分布式计算任务调度与优化实践——深入理解分布式计算引擎的核心机制笨蛋少年派9 小时前
安装Hadoop中遇到的一些问题和解决在未来等你10 小时前
Kafka面试精讲 Day 18:磁盘IO与网络优化大视码垛机10 小时前
速度与安全双突破:大视码垛机重构工业自动化新范式梓仁沐白10 小时前
hadoop单机伪分布环境配置欧阳方超11 小时前
Spark(1):不依赖Hadoop搭建Spark环境Light6011 小时前
领码SPARK融合平台 · TS × Java 双向契约 —— 性能与治理篇|缓存分段与版本秩序过尽漉雪千山12 小时前
Flink1.17.0集群的搭建