首页 > 其他 > 详细

Spark Srreaming与Storm的区别

时间:2015-06-08 23:23:00      阅读:259      评论:0      收藏:0      [点我收藏+]

        Storm风暴和Spark Streaming都是分布式流处理的开源框架。区别如下:

1、处理延时和吞吐量

    Storm处理的是每次传入的一个事件,Spark Streaming是处理某个时间段窗口内的事件流,Storm处理一个事件可以达到秒内的延迟,而Spark Streaming则有几秒钟的延迟。因此,Spark Streaming比Storm的延时更长,但是吞吐量比Storm大。

2、容错、数据保证

      Spark Streaming在容错方面提供了对状态计算的更好的支持。在Storm中,任一条单独的记录在经过系统时必须可以被追踪到,所以Storm仅保证所有记录都会至少处理一次,但是从错误中恢复过来时允许出现重复记录。这意味着可变状态有可能被错误的更新两次。

3、支持的API

   Storm(由Closure语言开发的)支持JAVA编程,Spark支持Scala编程,也支持java开发。

 

总结:,如果你需要秒内的延迟,Storm是一个不错的选择,而且没有数据丢失。如果你需要有状态的计算,而且要完全保证每个事件只被处理一次,Spark Streaming则更好。Spark Streaming编程逻辑也可能更容易,因为它类似于批处理程序(Hadoop),特别是在你使用批次(尽管是很小的)时。

 

另参阅:
http://www.uml.org.cn/sjjm/201408282.asp

Spark Srreaming与Storm的区别

原文:http://blog.csdn.net/zcc_0015/article/details/46418189

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!