spark与storm比对与选型

2017年02月12日 11:42:13

大数据实时处理平台市场上产品众多,本文着重讨论spark与storm的比对,最后结合适用场景进行选型。


一、spark与storm的比较

比较点

Storm

Spark Streaming

实时计算模型

纯实时,来一条数据,处理一条数据

准实时,对一个时间段内的数据收集起来,作为一个RDD,再处理

实时计算延迟度

毫秒级

秒级

吞吐量

事务机制

支持完善

支持,但不够完善

健壮性 / 容错性

ZooKeeper,Acker,非常强

Checkpoint,WAL,一般

动态调整并行度

支持

不支持


二、Spark Streaming与Storm的应用场景 


适用Storm的场景:

1、需要纯实时,不能忍受1秒以上延迟的场景下使用,比如实时金融系统,要求纯实时进行金融交易和分析

2、对于实时计算的功能中,要求可靠的事务机制和可靠性机制,即数据的处理完全精准,一条也不能多,一条也不能少,也可以考虑使用Storm

3、若还需要针对高峰低峰时间段,动态调整实时计算程序的并行度,以最大限度利用集群资源(通常是在小型公司,集群资源紧张的情况),也可以考虑用Storm

4、如果一个大数据应用系统,它就是纯粹的实时计算,不需要在中间执行SQL交互式查询、复杂的transformation算子等,那么用Storm是比较好的选择


适用Spark Streaming的场景:

1、如果对上述适用于Storm的三点,一条都不满足的实时场景,即:不要求纯实时,不要求强大可靠的事务机制,不要求动态调整并行度,那么可以考虑使用Spark Streaming

2、考虑使用Spark Streaming最主要的一个因素,应该是针对整个项目进行宏观的考虑,即:如果一个项目除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,而且实时计算中,可能还会牵扯到高延迟批处理、交互式查询等功能,那么就应该首选Spark生态,用Spark Core开发离线批处理,用Spark SQL开发交互式查询,用Spark Streaming开发实时计算,三者可以无缝整合,给系统提供非常高的可扩展性 Spark Streaming与Storm的优劣分析事实上,Spark Streaming绝对谈不上比Storm优秀。

总之,这两个框架在实时计算领域都很优秀,只是擅长的细分场景并不相同。Spark Streaming仅仅在吞吐量上比Storm要优秀,而吞吐量这一点,也是历来挺Spark Streaming贬Storm的人着重强调的。但是问题是,是不是在所有的实时计算场景下,都那么注重吞吐量?不尽然。因此,通过吞吐量说Spark Streaming强于Storm,不靠谱。事实上,Storm在实时延迟度上,比Spark Streaming就好多了,前者是纯实时,后者是准实时。而且,Storm的事务机制、健壮性 / 容错性、动态调整并行度等特性,都要比Spark Streaming更加优秀。Spark Streaming,有一点是Storm绝对比不上的,就是:它位于Spark生态技术栈中,因此Spark Streaming可以和Spark Core、Spark SQL无缝整合,也就意味着,我们可以对实时处理出来的中间数据,立即在程序中无缝进行延迟批处理、交互式查询等操作。这个特点大大增强了Spark Streaming的优势和功能。

hadoop、storm和spark的区别、比较

1、hadoop、Storm该选哪一个?为了区别hadoop和Storm,该部分将回答如下问题: 1.hadoop、Storm各是什么运算 2.Storm为什么被称之为流式计算系统 3.hado...
  • bitcarmanlee
  • bitcarmanlee
  • 2016年11月05日 21:28
  • 12682

大数据经典学习路线(storm,spark)

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务...
  • zhubing10061210
  • zhubing10061210
  • 2017年06月19日 09:30
  • 1070

两款高性能并行计算引擎Storm和Spark比较

原文发表于踏得网。Spark基于这样的理念,当数据庞大时,把计算过程传递给数据要比把数据传递给计算过程要更富效率。每个节点存储(或缓存)它的数据集,然后任务被提交给节点。所以这是把过程传递给数据。这和...
  • iefreer
  • iefreer
  • 2014年06月20日 16:29
  • 44110

storm spark 的选择区别

实时商务智能这一构想早已算不得什么新生事物(早在2006年维基百科中就出现了关于这一概念的页面)。然而尽管人们多年来一直在对此类方案进行探讨,我却发现很多企业实际上尚未就此规划出明确发展思路、甚至没能...
  • miketom155
  • miketom155
  • 2015年12月17日 17:09
  • 2938

storm、jstorm 调研系列(一)----jstorm介绍以及与spark的比较,外加一些基础概念

storm、jstorm是干什么的storm是一款开源的、分布式的、低延迟的、可扩展的、容错的实时计算框架,采用clojure和java的混合编程,总体两者的代码总量是55开的,但clojure语言具...
  • yc_pku
  • yc_pku
  • 2016年08月14日 16:38
  • 3657

Storm简介

场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的...
  • hljlzc2007
  • hljlzc2007
  • 2013年10月23日 18:24
  • 27150

spark 与storm的对比及适用场景

学习大数据有一段时间了,学完spark 和strom 后,就希望这两个实时处理系统做个对比,以便于在以后的技术选型方面有很好的把握。 转载如下: http://www.cnblogs.com/yaoh...
  • cainiaoxiaozhou
  • cainiaoxiaozhou
  • 2017年08月16日 18:18
  • 444

Spark学习笔记 --- Spark Streaming 与 Stom 比较

Spark学习笔记 --- Spark Streaming 与 Stom 比较
  • u012965373
  • u012965373
  • 2017年01月20日 11:28
  • 2436

Hadoop、storm和Spark的区别、比较

一、hadoop、Storm该选哪一个? 为了区别hadoop和Storm,该部分将回答如下问题: 1.hadoop、Storm各是什么运算 2.Storm为什么被称之为流式计算系统 3.ha...
  • u012721013
  • u012721013
  • 2016年12月01日 18:07
  • 5710

Hadoop、Storm、Spark这三个大数据平台有啥区别,各有啥应用场景?

Storm与Spark、Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景。 所以,在不同的应用场景下,应该选择不同的框架。 Storm是最佳的流式计算框架,Storm由Ja...
  • w1014074794
  • w1014074794
  • 2016年02月18日 17:26
  • 7976
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spark与storm比对与选型
举报原因:
原因补充:

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