Spark streaming storm map reduce区别与联系

1.1  基本概念

Storm是一个流式计算框架,Storm采用Java和Clojure编写,其优点是全内存计算,所以它的定位是分布式实时计算。

Spark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析。Spark类似于Hadoop MapReduce的通用并行计算框架,Spark基于Map Reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的Map Reduce的算法。

Hadoop是实现了MapReduce的思想,将数据切片计算来处理大量的离线数据。Hadoop处理的数据必须是已经存放在HDFS上或者类似HBase的数据库中,所以Hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率。

1.2  适用场景

1.2.1  Storm的适用场景:

1)流数据处理
Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。
2)分布式RPC。由于Storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式RPC框架来使用。

1.2.2  Spark适用场景:

1)多次操作特定数据集的应用场合
Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小。

2)粗粒度更新状态的应用
由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如Web服务的存储或者是增量的Web爬虫和索引。就是对于那种增量修改的应用模型不适合。
总的来说Spark的适用面比较广泛且比较通用。

1.2.3  Hadoop适用场景:

1)海量数据的离线分析处理

2)大规模Web信息搜索

3)数据密集型并行计算

1.3  区别与联系

相对Hadoop,Strom的优势在于对大数据的实时数据处理上,因为hadoop在处理大数据过程中高延时的特点使得其面对实时数据缺乏足够的应对策略,目前Strom已经被广泛的应用在诸如实时推送系统,预警系统等很多场景中。

Storm  MapReduce区别:

Storm:进程、线程常驻内存运行,数据不进入磁盘,数据通过网络传递。

MapReduce:为大数据设计的离线批处理计算框架。

Storm   Spark Streaming 区别:

Storm:纯流式处理,专门为流式处理设计,数据传输模式更为简单,很多地方也更为高效,并不是不能做批处理,它也可以来做微批处理,来提高吞吐

Spark Streaming:微批处理,将RDD做的很小来用小的批处理来接近流式处理

1.4  总结

Hadoop适合于离线批量数据处理,对实时性要求极低的场景

Storm适合于实时流数据处理,实时性方面做得不错;

Spark介于Hadoop的Map-Reduce批处理框架和Storm的流处理框架之间,批处理方面性能优于Map-Reduce,流处理弱于Storm

原文地址:https://www.cnblogs.com/taoweizhong/p/11025731.html

时间: 2024-11-04 09:39:15

Spark streaming storm map reduce区别与联系的相关文章

Storm介绍及与Spark Streaming对比

1 Storm介绍 Storm是由Twitter开源的分布式.高容错的实时处理系统,它的出现令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求.Storm常用于在实时分析.在线机器学习.持续计算.分布式远程调用和ETL等领域. 在Storm的集群里面有两种节点:控制节点(Master Node)和工作节点(Worker Node).控制节点上面运行一个名为Nimbus的进程,它用于资源分配和状态监控:每个工作节点上面运行一个Supervisor的进程,它会监听分配给它所在机

从Storm和Spark Streaming学习流式实时分布式计算系统的设计要点

0. 背景 最近我在做流式实时分布式计算系统的架构设计,而正好又要参见CSDN博文大赛的决赛.本来想就写Spark源码分析的文章吧.但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够.因此,我将最近一直在做的系统架构的思路整理出来,形成此文.为什么要参考Storm和Spark,因为没有参照效果可能不会太好,尤其是对于Storm和Spark由了解的同学来说,可能通过对比,更能体会到每个具体实现背后的意义. 本文对流式系统出现的背景,特点,数据HA,服务HA,节点间和计算逻辑间

Storm与Spark Streaming比较

前言spark与hadoop的比较我就不多说了,除了对硬件的要求稍高,spark应该是完胜hadoop(Map/Reduce)的.storm与spark都可以用于流计算,但storm对应的场景是毫秒级的统计与计算,而spark(stream)对应的是秒级的.这是主要的差别.一般很少有对实时要求那么高的场景(哪怕是在电信领域),如果统计与计算的周期是秒级的话,spark的性能是要优于storm的. Storm风暴和Spark Streaming火花流都是分布式流处理的开源框架.这里将它们进行比较并

Spark Streaming与Storm

Spark Streaming处于Spark生态技术栈中,可以和Spark Core和Spark SQL无缝整合:而Storm相对来说比较单一: (一)概述 Spark Streaming Spark Streaming是Spark的核心API的一个扩展,可以实现高吞吐量.具有容错机制的实时流数据的处理.支持从多种数据源获取数据,包括kafka.Flume.Twitter.ZeroMQ以及TCP等,从数据获取之后,可以使用诸如map.reduce.join.window等高级函数进行复杂算法处理

spark streaming 与 storm的对比

feature    strom (trident) spark streaming 说明 并行框架 基于DAG的任务并行计算引擎(task parallel continuous computational engine Using DAG) 基于spark的数据并行计算引擎(data parallel general purpose batch processing engine) 数据处理模式 (one at a time)一次处理一个事件(消息)trident: (Micro-batch

Flink与Spark Streaming在与kafka结合的区别!

本文主要是想聊聊flink与kafka结合.当然,单纯的介绍flink与kafka的结合呢,比较单调,也没有可对比性,所以的准备顺便帮大家简单回顾一下Spark Streaming与kafka的结合. 看懂本文的前提是首先要熟悉kafka,然后了解spark Streaming的运行原理及与kafka结合的两种形式,然后了解flink实时流的原理及与kafka结合的方式. kafka kafka作为一个消息队列,在企业中主要用于缓存数据,当然,也有人用kafka做存储系统,比如存最近七天的数据.

整合Kafka到Spark Streaming——代码示例和挑战

作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管.本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中. 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版本中已发生了一些变化,比如HA策略: 通过Spark Contributor.Spark布道者陈超我

大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池

第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst

(转)用Flink取代Spark Streaming!知乎实时数仓架构演进

转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就是数据仓库的建设,同时,数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务.从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用. 更多优质内容请关注微信