spark VS Hadoop 两大大数据分析系统深度解读

大数据,无论是从产业上,还是从技术上来看,都是目前的发展热点。在中国,政府控制着80%的数据,剩下的多由“BAT”这样的大公司拥有,中小企业如何构建自己的大数据系统?其他企业如何建设自己的大数据系统?

推荐两大应用最广泛、国人认知最多的Apache开源大数据框架系统:spark  Hadoop

 

Spark速度快、易于使用
Spark以性能见长,但是它也因易用性而小有名气,原因是它随带易于使用的API,支持Scala(原生语言)、Java、Python和Spark SQL。SparkSQL非常类似于SQL 92,所以几乎不需要经历一番学习,马上可以上手。

Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

Spark还有一种交互模式,那样开发人员和用户都可以获得查询和其他操作的即时反馈。MapReduce没有交互模式,不过有了Hive和Pig等附加模块,采用者使用MapReduce来得容易一点。

成本上来看:Spark需要大量内存,但是可以使用常规数量的常规转速磁盘。一些用户抱怨会产生临时文件,需要清理。这些临时文件通常保存7天,以便加快针对同一数据集的任何处理。磁盘空间相对便宜,由于Spark不使用磁盘输入/输入用于处理,已使用的磁盘空间可以用于SAN或NAS。

容错上:Spark使用弹性分布式数据集(RDD),它们是容错集合,里面的数据元素可执行并行操作。RDD可以引用外部存储系统中的数据集,比如共享式文件系统、HDFS、HBase,或者提供Hadoop InputFormat的任何数据源。Spark可以用Hadoop支持的任何存储源创建RDD,包括本地文件系统,或前面所列的其中一种文件系统。

Hadoop:分布式文件系统

Hadoop是Apache.org的一个项目,其实是一种软件库和框架,以便使用简单的编程模型,跨计算器集群对庞大数据集(大数据)进行分布式处理。Hadoop可灵活扩展,从单一计算机系统,到提供本地存储和计算能力的数千个商用系统,它都能轻松支持。实际上,Hadoop就是大数据分析领域的重量级大数据平台。

Hadoop由协同运行、构建Hadoop框架的多个模块组成。Hadoop框架的主要模块包括如下:

HadoopCommon

Hadoop分布式文件系统(HDFS)

HadoopYARN

HadoopMapReduce

虽然上述四个模块构成了Hadoop的核心,不过还有其他几个模块。这些模块包括:Ambari、Avro、Cassandra、Hive、Pig、Oozie、Flume和Sqoop,它们进一步增强和扩展了Hadoop的功能,得以扩大到大数据应用领域,处理庞大数据集。

许多使用大数据集和分析工具的公司使用Hadoop。它已成为大数据应用系统中事实上的标准。设计Hadoop的初衷是处理这项任务:搜寻和搜索数十亿个网页,将这些信息收集到数据库中。正是由于渴望搜寻和搜索互联网,才有了Hadoop的HDFS及分布式处理引擎MapReduce。

成本上:MapReduce使用常规数量的内存,因为数据处理基于磁盘,所以公司得购买速度更快的磁盘和大量磁盘空间来运行MapReduce。MapReduce还需要更多的系统,将磁盘输入/输出分布到多个系统上。

容错上:MapReduce使用TaskTracker节点,它为JobTracker节点提供了心跳(heartbeat)。如果没有心跳,那么JobTracker节点重新调度所有将执行的操作和正在进行的操作,交给另一个TaskTracker节点。这种方法在提供容错性方面很有效,可是会大大延长某些操作(即便只有一个故障)的完成时间。

总结:Spark与MapReduce是一种相互共生的关系。Hadoop提供了Spark所没有的功能特性,比如分布式文件系统,而Spark为需要它的那些数据集提供了实时内存处理。完美的大数据场景正是设计人员当初预想的那样:让Hadoop和Spark在同一个团队里面协同运行。

作者:张景龙  畅移(上海)信息科技有限公司CTO,CCFYOCSEF上海委员,京东今夜酒店特价app技术奠基人和首任CTO,中国第一代智能手机开发者。

时间: 2024-11-10 14:37:15

spark VS Hadoop 两大大数据分析系统深度解读的相关文章

Spark与Hadoop的区别

[适用场景不同] ? ? Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘.分析 ? ? Spark:是一个基于内存计算的开源的集群计算系统,那些在并行操作之间重用工作数据集(比如机器学习算法)的工作负载.为了优化这些类型的工作负载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟, 目的是让数据分析更加快速 ? ? 除了能够提供交互式查询外,它还可以优化迭代工作负载 ? ? [语言支持不同] ? ? Spark 是在 Scala 语言中实现

大数据Storm相比于Spark、Hadoop有哪些优势(摘录)

一.可能很多初学大数据的伙伴不知道strom是什么,先给大家介绍一下strom:分布式实时计算系统,storm对于实时计算的意义类似于hadoop对于批处理的意义.storm的适用场景.流数据处理.Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去.分布式rpc.由于storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式rpc框架来使用.当然,其实我们的搜索引擎本身也是一个分布式rpc系统有一句话叫做三人行必有我师,其实做为一个开发者,有一个学习

对于spark以及hadoop的几个疑问(转)

Hadoop是啥?spark是啥? spark能完全取代Hadoop吗? Hadoop和Spark属于哪种计算计算模型(实时计算.离线计算)? 学习Hadoop和spark,哪门语言好? 哪里能找到比较全的学习资料? 1 Hadoop是啥?spark是啥? (1)先来了解下Hadoop历史渊源 Doug Cutting是Apache Lucene创始人, Apache Nutch项目开始于2002年,Apache Nutch是Apache Lucene项目的一部分.2005年Nutch所有主要算

Spark和hadoop的关系

1. Spark VSHadoop有哪些异同点? Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘和数据分析. Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载. Spark 是在 Scala 语言中实现

大数据 --> spark与hadoop对比

spark与hadoop对比 什么是Spark Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点:但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法.其架构如下图所示: Spark与Hadoop对比 S

Storm与Spark、Hadoop三种框架对比

一.Storm与Spark.Hadoop三种框架对比 Storm与Spark.Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景.所以,在不同的应用场景下,应该选择不同的框架. 1.Storm是最佳的流式计算框架,Storm由Java和Clojure写成,Storm的优点是全内存计算,所以它的定位是分布式实时计算系统,按照Storm作者的说法,Storm对于实时计算的意义类似于Hadoop对于批处理的意义.Storm的适用场景:1)流数据处理Storm可以用来处理源源不断流进来

可视化大数据分析软件系统开发_适用于多行业的大数据分析系统

在未有BI可视化大数据分析系统之前,企业通常都是使用Excel做简单的报表分析,但这样往往深度不够,浪费很多数据资源.一旦数据量庞大,Excel是打开都很难.因此企业非常需要一款可视化大数据分析系统软件,这样的软件适用于任何产生数据的行业. 可视化大数据分析系统的优势: 1.一站式数据管理和分析 从数据接入整合,到数据处理.分析.挖掘.再到多终端多样式可视化,对数据进行全价值链管理.为企业制定规划策略提供证明 2.灵活易用的可视化分析 无需任何预处理极客对数据任意维度的多维分析,简单操作即可通过

Spark MLlib Deep Learning Convolution Neural Network (深度学习-卷积神经网络)3.2

3.Spark MLlib Deep Learning Convolution Neural Network(深度学习-卷积神经网络)3.2 http://blog.csdn.net/sunbow0 第三章Convolution Neural Network (卷积神经网络) 2基础及源码解析 2.1 Convolution Neural Network卷积神经网络基础知识 1)基础知识: 自行google,百度,基础方面的非常多,随便看看就可以,只是很多没有把细节说得清楚和明白: 能把细节说清

北京上海广州Cloudera Hadoop大数据:CCAH(管理员)、CCA(Spark and Hadoop)、HBase

上海5月21-24日ClouderaAaminisrrator Training for Apache Hadoop(CCAH) 广州6月1-3日Cloudera Trainingfor Apache Hbase 广州6月18-21日Cloudera Developertraining for Spark and Hadoop(CCA-175) 上海6月27-30日Cloudera Developertraining for Spark and Hadoop(CCA-175) 北京7月7-10日