关于Storm和Spark Streaming速度疑惑

昨晚上课提了这个问题,还是没有太理解。
 
MR是分钟级别,SparkStreaming是秒级别,Strom是毫秒级别。这里的疑问是:
 
1他们两个都比MR快的最主要的原因是不是:首先是他们都是直接内存上计算,其次是DAG,因为SparkStreaming最终也是归属到Spark上,所以我的理解多组任务的时候他们两个都不用像MR那样起了一个MR又要再来一个MR的浪费时间。这里还有其他最主要的原因吗?或者我的理解有错误吗?
 
2,Spark快的原因是:基于内存计算;有向无环图;线程模型;延迟调度等优化。那么Storm对应的快的原因是?
 
3,最后一个疑问还是昨晚提的,为什么Storm是毫秒级,而Spark是秒级,老师说Storm是流式处理,而Spark Streaming是微批处理,我的疑问是怎么这样就导致Storm比SparkStreaming快了呢?

yanglei

赞同来自: 跃爷 fish BingClouds

Storm与Spark Streaming的处理模型是不同的。直观来讲,Storm每次只处理一条event,而Spark Streaming可以在一个短暂的时间窗口里面处理多条(batches)Event。所以说Storm可以实现亚秒级时延的处理,而Spark Streaming则有一定的时延。

要回复问题请先登录注册