Spark streaming&storm流计算的相关对比

转载 2015年07月09日 15:13:37

转自:http://blog.csdn.net/yangbutao/article/details/44538637
spark streaming和Storm作为当今流行的实时流计算框架,已经在实时计算方案应用的非常广泛了,其中spark streaming是基于spark的一个扩展,比storm的出现要晚一些。本章节从以下几个角度对两者进行了阐述,可以作为选型方面的一个参考。

A、 数据处理方式

Spark streaming是构建在spark上的实时流计算框架,利用时间批量窗口生成spark的计算输入源RDD,后对该RDD生成Job,进行排队调度到spark计算框架中执行,底层是基于spark资源调度和任务计算框架的;Spark streaming是基于数据的批处理方式,针对数据形成任务进行计算,是移动计算而不移动数据,而Storm恰恰相反,storm在处理架构上是数据流入到计算节点,移动的是数据而不是计算,对于时间窗口的批量数据处理,需要用户自己来实现,这个在之前的storm系列的相关章节中有介绍。

B、 生态体系

Spark streaming是基于spark的,可以和spark其他的组件结合,实现交互式的查询adhoc,机器学习MLib等。Storm相对来讲,只是作为一个流式计算框架,缺乏现有的Hadoop生态体系的融合。

C、 延迟以及吞吐量

Spark streaming基于对批量数据的处理,依赖spark的调度和计算框架,在延迟方面比storm要高,一般最小的延迟在2s左右,而storm可以达到100ms以内。正因为spark streaming是批处理的方式处理数据,整体的吞吐量比较高。

D、 容错性

Spark streaming通过lineage以及在内存维护两份数据备份进行容错,通过lineage记录之前对RDD的操作,若某节点在运行时候出现故障,则可以通过备份数据在其他节点重新计算得到。

Storm通过ack组件进行数据流的跟踪,开销比sparking streaming要大。

E、 事务性

Spark streaming保证数据只被处理一次,并且是在批处理的层次级别。

Storm通过跟踪机制能保证每个记录至少被处理一次,如果需要保证状态只更新一次的话,需要由用户自己来实现。

所以对于statefull的计算,对事务性比较高的话,spark streaming要更好一些。

Spark streaming&storm流计算的相关对比

spark streaming和Storm作为当今流行的实时流计算框架,已经在实时计算方案应用的非常广泛了,其中spark streaming是基于spark的一个扩展,比storm的出现要晚一些。本...
  • yangbutao
  • yangbutao
  • 2015年03月22日 16:35
  • 6420

Spark流计算(四)

DataFrame和SQL操作 可以方便的对刘数据使用DataFrame和SQL操作。在 StreamingContext使用的SparkContext构建一个SparkSession。这样drive...
  • wangli0519
  • wangli0519
  • 2017年06月17日 15:42
  • 181

从Storm和Spark 学习流式实时分布式计算的设计

最近我在做流式实时分布式计算系统的架构设计,而正好又要参见CSDN博文大赛的决赛。本来想就写Spark源码分析的文章吧。但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够。因此,...
  • anzhsoft2008
  • anzhsoft2008
  • 2014年08月02日 17:06
  • 40985

实时流计算Spark Streaming原理介绍

1、Spark Streaming简介 1.1 概述 Spark Streaming 是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数...
  • xiaomin1991222
  • xiaomin1991222
  • 2016年03月10日 16:05
  • 1321

贯通Spark Streaming流计算框架的运行源码(第五篇)

本期内容: 基于简单案例贯通Spark Streaming的运行源码
  • xiaojun220
  • xiaojun220
  • 2016年05月08日 13:05
  • 322

Spark流计算(二)

连接 与Spark相似,Spark Streaming可通过Maven Central获得。需要加入如下依赖 org.apache.spark spark-streaming_2.1...
  • wangli0519
  • wangli0519
  • 2017年06月16日 15:38
  • 181

流式计算产品对比(Storm、Trident、Spark Streaming、Flink)

产品 模型 API 保证次数 容错机制 状态管理 延时 吞吐量 成熟度 Strom Native 组合式 At-least-once Record A...
  • xianzhen376
  • xianzhen376
  • 2016年04月10日 17:01
  • 2965

Spark Streaming:大规模流式数据处理

转自:http://www.csdn.net/article/2014-01-27/2818282-Spark-Streaming-big-data
  • lskyne
  • lskyne
  • 2014年07月08日 10:44
  • 14407

流式大数据处理的三种框架:Storm,Spark和Flink

storm、spark streaming、flink都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单...
  • cm_chenmin
  • cm_chenmin
  • 2016年11月07日 21:48
  • 8838

Spark Streaming 流式计算实战

这篇文章由一次平安夜的微信分享整理而来。在Stuq 做的分享,原文内容。 业务场景这次分享会比较实战些。...
  • allwefantasy
  • allwefantasy
  • 2016年01月02日 10:17
  • 1566
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark streaming&storm流计算的相关对比
举报原因:
原因补充:

(最多只允许输入30个字)