技术干货流式计算 Spark Streaming 和 Storm 对比

Posted 西安优盛数据库与大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术干货流式计算 Spark Streaming 和 Storm 对比相关的知识,希望对你有一定的参考价值。

【技术干货】流式计算 Spark Streaming 和 Storm 对比

Hadoop自从20122.0版本发布后,各个大型企业均开始使用Hadoop进行数据分析,但是由于HadoopMapReduce的明显缺陷,以及企业中部分业务对数据处理的实时性要求越来越高,故此需要一种更加快速的流式处理方案。

针对于以上问题,开发出了Storm流式处理平台,对于Spark平台,也开发出了Spark Streaming进行流式处理StormSpark Streaming都是分布式流处理的开源框架,但是它们之间还是有一些区别的,这里将两者进行简单的对比:


处理模型以及延迟


两种计算框架都提供了容错性和可扩展性,但是两者在数据处理的模型上是完全不同的。Storm可以实现亚秒级别的数据处理,每次只处理一条event,而Spark Streaming可以在一个短暂的时间窗口里面处理多条event,故此Spark Streaming会有一定的延迟。


容错和数据保证


在数据容错方面,Spark Streaming提供了更好的支持容错的计算方式。

Storm中,当每条单独的记录通过处理系统时必须被跟踪,所以Storm能够至少保证每条记录将被处理一次,但是在从错误中恢复过来时候可以允许出现重复记录,这就可能有些数据状态被不正确的更新两次。

Spark Streaming相当于批处理,故此可以保证数据只被处理一次。

简单来说,如果需求为亚秒级别的数据处理,Storm可以是一个不错的选择。如果需要有状态的计算,并且保证每个数据仅被处理一次,Spark Streaming则更好。


批处理框架集成及开发


Spark Streaming是在Spark框架上运行的,Storm则是一个单独的处理框架。这样就可以在使用Spark Streaming的同时,使用Spark的其他组件。在开发方面,Storm提供了Java API,同时也支持其他语言的API Spark Streaming支持ScalaJava语言,同时也支持Python语言。

如今各个行业都开始进行大数据分析,对于技术的学习尤为重要,更多内容请访问优盛官方网站:www.udbs.cn


文/禄鑫


学习更多技术知识

请关注

西安优盛数据库与大数据

以上是关于技术干货流式计算 Spark Streaming 和 Storm 对比的主要内容,如果未能解决你的问题,请参考以下文章

正经文章Kafka与Spark Streaming的联姻

Spark Streaming初步使用以及工作原理详解

15 | 流式计算的代表:StormFlinkSpark Streaming

流处理Kafka Stream-Spark Streaming-Storm流式计算框架比较选型

转载Spark Streaming中流式计算的困境与解决之道

DataFlow编程模型与Spark Structured streaming