Storm与Spark区别

主宰稳场 提交于 2019-12-12 10:15:42

Storm擅长于动态处理大量实时生产的小数据块,概念上是将小数据量的数据源源不断传给过程;

Spark擅长对现有的数据全集做处理,概念是将过程传给大数据量的数据。

二者设计思路相反。Storm侧重于处理的实时性,Spark侧重处理庞大数据(类似于Hadoop的MR)。

 

Spark流模块(Spark Streaming)与Storm类似,但有区别:

1.Storm纯实时,来一条数据,处理一条数据;SparkStreaming准实时,对一个时间段内的数据收集起来,作为一个RDD,再做处理。

2.Storm响应时间毫秒级;Spark Streaming响应时间秒级

3.Storm可以动态调整并行度;SparkStreaming不行

 

Storm应用场景:

1、对于需要纯实时,不能忍受1秒以上延迟的场景

2、要求可靠的事务机制和可靠性机制,即数据的处理完全精准

3、如果还需要针对高峰低峰时间段,动态调整实时计算程序的并行度,以最大限度利用集群资源

 

Spark Streaming应用场景:

1、Spark Streaming可以和Spark Core、Spark SQL无缝整合,如果一个项目除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,考虑使用Spark Streaming。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!