码迷,mamicode.com
首页 > 其他好文 > 详细

Spark Srreaming与Storm的区别

时间:2015-06-08 23:25:42      阅读:188      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!