spark、storm与Hadoop

1. Storm是什么,怎么做,如何做的更好?
Storm是一个开源的分布式实时计算系统,它可以简单、可靠地处理大量的数据流。Storm有很多应用场景,如实时分析、在线机器学习、持续计算、分布式RPC、ETL,等等。
Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快(在一个小集群中,每个节点每秒可以处理数以百万计的消息)。
Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用。

2. Storm与Spark、Hadoop相比是否有优势?
Storm与Spark、Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景。
所以,在不同的应用场景下,应该选择不同的框架。

Storm是最佳的流式计算框架,Storm由Java和Clojure写成,Storm的优点是全内存计算,所以它的定位是分布式实时计算系统,按照Storm作者的说法,Storm对于实时计算的意义类似于Hadoop对于批处理的意义。
Storm的适用场景:
1)流数据处理
Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去。
2)分布式RPC。由于Storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式RPC框架来使用。

SparkSpark是一个基于内存计算的开源集群计算系统,目的是更快速的进行数据分析。Spark由加州伯克利大学AMP实验室Matei为主的小团队使用Scala开发开发,类似于Hadoop MapReduce的通用并行计算框架,Spark基于Map Reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点,但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的Map Reduce的算法。
Spark的适用场景:
1)多次操作特定数据集的应用场合
Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小。
2)粗粒度更新状态的应用
由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如Web服务的存储或者是增量的Web爬虫和索引。就是对于那种增量修改的应用模型不适合。
总的来说Spark的适用面比较广泛且比较通用。

Hadoop是实现了MapReduce的思想,将数据切片计算来处理大量的离线数据数据。Hadoop处理的数据必须是已经存放在HDFS上或者类似HBase的数据库中,所以Hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率。
Hadoop的适用场景:
1)海量数据的离线分析处理
2)大规模Web信息搜索
3)数据密集型并行计算

时间: 2024-10-12 16:02:43

spark、storm与Hadoop的相关文章

[转]hadoop,spark,storm,pig,hive,mahout等到底有什么区别和联系?

摘自知乎大神的论述 作者:Xiaoyu Ma链接:https://www.zhihu.com/question/27974418/answer/38965760来源:知乎著作权归作者所有,转载请联系作者获得授权. 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮.但是每个工具有自己的特性,虽然奇怪

hadoop、spark/storm等大数据相关视频资料汇总下载

小弟不才,工作中也用到了大数据的相关东西,一开始接触的时候,是通过买来的教学视频入的门.这两天整理了一下自己的视频资料,供各位进行下载. 文档截图:

Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置

转载:http://www.cnblogs.com/ysisl/p/5979268.html 一. 下载资料 1. JDK 1.6 + 2. Scala 2.10.4 3. Hadoop 2.6.4 4. Spark 1.6 二.预先安装 1. 安装JDK 2. 安装Scala 2.10.4 解压安装包即可 3. 配置sshd ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_

spark加载hadoop本地库的时候出现不能加载的情况要怎么解决呢?

我64位机器,当时hadoop启动的时候出现这个问题是因为hadoop本身自带的本地库是32位的,我现在hadoop2.2.0已经替换了本地库为64位的了,并且编译spark的时候采用了相对应的版本:SPARK_HADOOP_VERSION=2.2.0 SPARK_YARN=true ./sbt/sbt assembly但是现在进入spark shell的时候依然最后会出现如下警告,有没有人成功解决了这个问题呢?我spark是0.9.1版本的,谢谢各位大神!WARN NativeCodeLoad

Spark:超越Hadoop MapReduce

引言:和 Hadoop 一样,Spark 提供了一个 Map/Reduce API(分布式计算)和分布式存储.二者主要的不同点是,Spark 在集群的内存中保存数据,而 Hadoop 在集群的磁盘中存储数据. 本文选自<SparkGraphX实战>. 大数据对一些数据科学团队来说是 主要的挑战,因为在要求的可扩展性方面单机没有能力和容量来运行大规模数据处 理.此外,即使专为大数据设计的系统,如 Hadoop,由于一些数据的属性问题也很难有效地处理图数据,我们将在本章的其他部分看到这方面的内容.

storm与hadoop的对比

   hadoop 是实现了 mapreduce 的思想,将数据切片计算来处理大量的离线数据. hadoop处理的数据必须是已经存放在 hdfs 上或者类似 hbase 的数据库中,所以 hadoop 实现的时候是通过移动计算到这些存放数据的机器上来提高效率而 storm 不同,storm 是一个流计算框架,处理的数据是实时消息队列中的,所以需要我们 写好一个 topology 逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均 分配到机器资源来获得高效率. hadoop 的优点是处理数据

下载基于大数据技术推荐系统实战教程(Spark ML Spark Streaming Kafka Hadoop Mahout Flume Sqoop Redis)

地址:http://pan.baidu.com/s/1c2tOtwc  密码:yn2r 82课高清完整版,转一播放码. 互联网行业是大数据应用最前沿的阵地,目前主流的大数据技术,包括 hadoop,spark等,全部来自于一线互联网公司.从应用角度讲,大数据在互联网领域主要有三类应用:搜索引擎(比如百度,谷歌等),广告系统(比如百度凤巢,阿里妈妈等)和推荐系统(比如阿里巴巴天猫推荐,优酷视频推荐等). 本次培训以商业实战项目作为驱动来学习大数据技术在推荐系统项目中的应用.使得学员能够亲身体会大数

storm与hadoop的对照

   hadoop 是实现了 mapreduce 的思想,将数据切片计算来处理大量的离线数据. hadoop处理的数据必须是已经存放在 hdfs 上或者类似 hbase 的数据库中.所以 hadoop 实现的时候是通过移动计算到这些存放数据的机器上来提高效率而 storm 不同,storm 是一个流计算框架.处理的数据是实时消息队列中的,所以须要我们 写好一个 topology 逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均 分配到机器资源来获得高效率. hadoop 的长处是处理数据

WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable(spark加载hadoop本地库的时候出现不能加载的情况要怎么解决呢?)

原文地址: https://www.zhihu.com/question/23974067/answer/26267153 原文内容: 我64位机器,当时hadoop启动的时候出现这个问题是因为hadoop本身自带的本地库是32位的,我现在hadoop2.2.0已经替换了本地库为64位的了,并且编译spark的时候采用了相对应的版本:SPARK_HADOOP_VERSION=2.2.0 SPARK_YARN=true ./sbt/sbt assembly但是现在进入spark shell的时候依