spark streaming、flink和storm区别浅析

Spark、Flink与Storm计算框架对比
博客对Spark、Flink和Storm三个计算框架进行比较。Spark Streaming是微批量的伪流式准实时计算框架,Flink和Storm是典型实时流处理框架。Spark与Flink主要区别在mini - batch和streaming选择,需根据场景权衡吞吐量和实时性。还罗列了相关参考资料。

1. 介绍

这三个计算框架常常被拿来比较。从我的角度来看,三者的比较可以分为两类(mini-batches vs. streaming)。spark streaming属于微批量的伪流式准实时计算框架(spark本身属于批处理框架)。而flink和storm则作为典型的实时流处理框架。

2. spark vs flink

两者虽然有很多设计实现思路上比较接近以及互相学习,但是主要区别还是mini-batch和streaming的选择上。根据实际场景在吞吐量和实时性上做权衡。

3. flink vs storm

名称批处理数据处理保证api level容错机制
storm不支持at least once(实现采用record-level acknowledgments),Trident可以支持storm 提供exactly once语义lowrecord-level acknowledgments
flink支持exactly once(实现采用Chandy-Lamport 算法,即marker-checkpoint )highmarker-checkpoint

4. 其他资料

5. 总结

我写的比较简略。强烈建议看看下面我罗列的参考资料,都写的很不错。

参考资料:

  1. What is/are the main difference(s) between Flink and Storm?
  2. Introduction to Apache Flink for Spark Developers : Flink vs Spark
  3. Apache Flink和Apache Spark有什么异同?它们的发展前景分别怎样?
  4. 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣?
  5. Spark与Flink:对比与分析

转载于:https://my.oschina.net/xiaominmin/blog/3053807

Spark StreamingFlinkStorm都是流处理技术,用于实时处理大规模数据流。下面对这三种技术进行分析对比。 1. Spark StreamingSpark Streaming是通过将数据流拆分成小批次进行处理的微批处理技术。它使用Spark引擎来处理数据流,并提供高级API,方便用户进行开发。Spark Streaming具有较低的延迟较高的容错性,同时可以与Spark的批处理机器学习库集成,使其非常适合于从批处理到流处理的转换。Spark Streaming还支持容错、状态管理恢复机制。 2. FlinkFlink是一种纯粹的流式处理引擎,支持事件时间、处理时间摄取时间,并提供了低延迟高吞吐量的流处理。Flink具有精确的状态管理一致性,可以容错地处理故障。Flink还具有灵活的窗口操作、丰富的操作符连接器,使其非常适合复杂的流处理任务。Flink还支持迭代计算流-批一体化计算。 3. StormStorm是一款开源的分布式流式处理引擎,支持低延迟、高吞吐量的实时数据处理。Storm的核心概念是spoutbolt。spout用于从数据源接收数据,将数据转化为流并发送给bolt。bolt负责处理数据流,并可以将结果发送给下一个bolt或输出到外部存储系统。Storm具有较低的延迟高可伸缩性,并且支持故障恢复容错性。 在对比方面,FlinkSpark Streaming是基于微批处理的技术,而Storm是基于实时流处理的技术。FlinkStorm提供了精确的事件时间处理一致性,具有较低的延迟高吞吐量,适用于对实时性要求更高的场景。而Spark Streaming在数据处理上更适合对延迟要求相对较低的场景,并且可以与Spark的批处理机器学习库集成,使得在大规模批处理到流处理的转换中更加方便。此外,Flink还支持迭代计算流-批一体化计算,这使得在某些特定的场景下更加有优势。 总结来说,Spark Streaming适合对延迟要求较低且需与Spark批处理机器学习库集成的场景;Flink适合对精确性要求高、更复杂的流处理任务;而Storm则适合对实时性要求极高的场景。选择何种技术取决于具体需求场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值