技术干货流式计算 Spark Streaming 和 Storm 对比
Posted 西安优盛数据库与大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术干货流式计算 Spark Streaming 和 Storm 对比相关的知识,希望对你有一定的参考价值。
Hadoop自从2012年2.0版本发布后,各个大型企业均开始使用Hadoop进行数据分析,但是由于Hadoop中MapReduce的明显缺陷,以及企业中部分业务对数据处理的实时性要求越来越高,故此需要一种更加快速的流式处理方案。
针对于以上问题,开发出了Storm流式处理平台,对于Spark平台,也开发出了Spark Streaming进行流式处理。Storm和Spark 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支持Scala和Java语言,同时也支持Python语言。
如今各个行业都开始进行大数据分析,对于技术的学习尤为重要,更多内容请访问优盛官方网站:www.udbs.cn
文/禄鑫
学习更多技术知识
请关注
西安优盛数据库与大数据
以上是关于技术干货流式计算 Spark Streaming 和 Storm 对比的主要内容,如果未能解决你的问题,请参考以下文章
15 | 流式计算的代表:StormFlinkSpark Streaming
流处理Kafka Stream-Spark Streaming-Storm流式计算框架比较选型