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
相关推荐
字节跳动数据平台20 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力得物技术21 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术大大大大晴天1 天前
Flink生产问题排障-HBase NotServingRegionException武子康1 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程肌肉娃子5 天前
20260227.spark.Spark 性能刺客:千万别在 for 循环里写 withColumn武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线