最近在熟悉大数据方面的技术和实践,关于两者的概念和特性就不做过多赘余,此处只进两者的区别和应用场景进行分享:

 Spark Streaming与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的优势和功能。

spark与storm的对比相关推荐

  1. Spark、Storm、Flink横向对比

    一. 概述 大数据生态圈大多数技术都是master-slave架构,Spark.Storm.Flink无一例外都是这种架构,Spark是目前批计算的主流,Flink目前逐渐取代Storm成为了流式计算 ...

  2. Hadoop、Spark、Storm对比

    Hadoop.Spark.Storm对比 1 Hadoop.Spark.Storm基本介绍 1.1 Hadoop Hadoop项目是开发一款可靠的.可扩展性的.分布式计算的开源软件.通过编写MapRe ...

  3. 【分布式计算】关于Hadoop、Spark、Storm的讨论

    参考资料: 与 Hadoop 对比,如何看待 Spark 技术?:https://www.zhihu.com/question/26568496 还要不要做大数据:http://sinofool.cn ...

  4. 大数据晋级之路(5)Hadoop,Spark,Storm综合比较

    大数据框架:Spark vs Hadoop vs Storm 目录 Hadoop Spark Storm 大数据时代,TB级甚至PB级数据已经超过单机尺度的数据处理,分布式处理系统应运而生. 知识预热 ...

  5. 大数据平台安装实验: ZooKeeper、Kafka、Hadoop、Hbase、Hive、Scala、Spark、Storm

    文章目录 实验1:Hadoop大数据平台安装实验 1. 实验目的 2. 实验环境 3. 实验过程 3.1 虚拟机的搭建 3.1.1 安装虚拟机 3.1.2 基本linux命令 3.2 准备工作 3.2 ...

  6. Spark与Flink:对比与分析

    Spark是一种快速.通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集合,划分到集群的各个节点上,可以被并行操作.用户也可以让Spark保留一个RDD在内 ...

  7. Ignite与Spark内存计算平台对比分析

    为什么80%的码农都做不了架构师?>>>    经常有人拿Ignite和Spark进行比较,然后搞不清两者的区别和联系.Ignite和Spark,如果笼统归类,都会归类于内存计算平台 ...

  8. 大数据分析常用组件、框架、架构介绍(Hadoop、Spark、Storm、Flume、Kafka、Logstash、HDFS、HBase)

    在正式开始介绍大数据知识之前我们先来了解一下一些大数据常用名词,如果您是"过来人"的话,可以直(jia)接(shen)跳(yin)过(xiang):如果您是新手的话,可以带着对新鲜 ...

  9. 分布式计算—MapReduce、Spark、Storm、Flink分别适用什么场景

    作者:ezaya 链接:https://www.zhihu.com/question/403840013/answer/1317631316 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...

最新文章

  1. 利用硅光子学的移动心脏监护仪
  2. 吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程
  3. Discrete Logging hunnu10590 pku2417 fzu 1352 hit 1928 zoj 1898
  4. python不同模块间传递数据_Python模块-数据传送模块
  5. 18 Context与组合的应用场景与使用问题
  6. 认识容器,我们从它的历史开始聊起
  7. Qt Creator子目录项目-类似VS解决方案
  8. WM_NOTIFY的使用
  9. 毕业2年鏖战美团、京东、阿里3个大厂,成功拿到2个offer,我的社招Java岗面试经历分享
  10. Exception:No serializer found for class and no properties discovered to create BeanSerializer
  11. 笔记本win10开启wifi共享wifi
  12. CF909B Segments
  13. 【云速建站】如何实现多用户权限管理
  14. 生活中常见的计算机网络知识
  15. 【收藏】林达华 概率模型与计算机视觉
  16. winform datagridview 没有出现垂直滚动条 上下_木门安装中出现问题如何解决?
  17. uniapp小程序一键连接wifi
  18. COPA和利润中心PCA的区别
  19. GetItemText
  20. mysql-ip权限操作与限制失效问题

热门文章

  1. (数据库系统概论|王珊)第三章关系数据库标准语言SQL:习题
  2. C++ static_cast dynamic_cast const_cast reinterpret_cast使用总结
  3. libjpeg-turbo(2)
  4. const、volatile、mutable关键字
  5. Linux下编译运行Go程序
  6. Redis 主从复制的几种方法
  7. 通过Small Basic把儿子/女儿带入编程的世界
  8. Windows Win7建立wifi热点,手机共享WIFI上网
  9. 【持续更新】设计技巧++
  10. 图像处理——图像增强