简要了解Hadoop集群技术与Spark集群技术的对比

所属分类: 网站运营 / 建站经验 阅读数: 80
收藏 0 赞 0 分享


Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘、分析。
Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速, Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。
尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms,Machines,and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。
虽然 Spark 与 Hadoop 有相似之处,但它提供了具有有用差异的一个新的集群计算框架。首先,Spark 是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。为了优化这些类型的工作负载,Spark 引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟.
在大数据处理方面相信大家对hadoop已经耳熟能详,基于GoogleMap/Reduce来实现的Hadoop为开发者提供了map、reduce原语,使并行批处理程序变得非常地简单和优美。Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作。比如map,filter, flatMap,sample, groupByKey, reduceByKey, union,join, cogroup,mapValues, sort,partionBy等多种操作类型,他们把这些操作称为Transformations。同时还提供Count,collect, reduce, lookup, save等多种actions。这些多种多样的数据集操作类型,给上层应用者提供了方便。各个处理节点之间的通信模型不再像Hadoop那样就是唯一的Data Shuffle一种模式。用户可以命名,物化,控制中间结果的分区等。可以说编程模型比Hadoop更灵活.

Hadoop和Spark均是大数据框架,都提供了一些执行常见大数据任务的工具。但确切地说,它们所执行的任务并不相同,彼此也并不排斥。虽然在特定的情况下,Spark据称要比Hadoop快100倍,但它本身没有一个分布式存储系统。而分布式存储是如今许多大数据项目的基础。它可以将PB级的数据集存储在几乎无限数量的普通计算机的硬盘上,并提供了良好的可扩展性,只需要随着数据集的增大增加硬盘。因此,Spark需要一个第三方的分布式存储。也正是因为这个原因,许多大数据项目都将Spark安装在Hadoop之上。这样,Spark的高级分析应用程序就可以使用存储在HDFS中的数据了。

与Hadoop相比,Spark真正的优势在于速度。Spark的大部分操作都是在内存中,而Hadoop的MapReduce系统会在每次操作之后将所有数据写回到物理存储介质上。这是为了确保在出现问题时能够完全恢复,但Spark的弹性分布式数据存储也能实现这一点。

另外,在高级数据处理(如实时流处理和机器学习)方面,Spark的功能要胜过Hadoop。在Bernard看来,这一点连同其速度优势是Spark越来越受欢迎的真正原因。实时处理意味着可以在数据捕获的瞬间将其提交给分析型应用程序,并立即获得反馈。在各种各样的大数据应用程序中,这种处理的用途越来越多,比如,零售商使用的推荐引擎、制造业中的工业机械性能监控。Spark平台的速度和流数据处理能力也非常适合机器学习算法。这类算法可以自我学习和改进,直到找到问题的理想解决方案。这种技术是最先进制造系统(如预测零件何时损坏)和无人驾驶汽车的核心。Spark有自己的机器学习库MLib,而Hadoop系统则需要借助第三方机器学习库,如Apache Mahout。

实际上,虽然Spark和Hadoop存在一些功能上的重叠,但它们都不是商业产品,并不存在真正的竞争关系,而通过为这类免费系统提供技术支持赢利的公司往往同时提供两种服务。例如,Cloudera就既提供Spark服务也提供Hadoop服务,并会根据客户的需要提供最合适的建议。

更多精彩内容其他人还在看

了解知乎网站的架构演进史

这篇文章主要介绍了了解知乎网站的架构演进史,知乎使用Python的异步框架Tornado的经验事例非常经典,值得Python学习以及爱好者们借鉴,需要的朋友可以参考下
收藏 0 赞 0 分享

企业网站要做成什么样子?是营销型网站还是官网展示

营销型网站建设是对网站的发展,整合了各种网络营销理念和网站运营管理方法,不仅注重网站建设的专业性,更加注重网站运营管理的整个过程,那么企业网站要做成什么样子?是营销型网站还是官网展?下面我们来看看吧
收藏 0 赞 0 分享

WEB标准之内容结构表现和行为到底怎么分离

从标准到国人重视那天起,就已经讨论了,但是停留在div+css xhtml+css 纯代码的分离,思想上流程上,到底如何分离
收藏 0 赞 0 分享

从网站设计到网站运营:网站建设中的六宗罪.

许多的网站越做越差,这是什么原因呢?今天小编就为大家带来一个网站从从网站设计到网站运营:网站建设中的六宗罪. 朋友们可以一起看看
收藏 0 赞 0 分享

云端架构助力魅族应用商店运维的案例分享

这篇文章主要介绍了云端架构助力魅族应用商店运维的案例分享,包括自研的Kiev框架通讯与分布式存储的使用等,非常具有借鉴意义,需要的朋友可以参考下
收藏 0 赞 0 分享

实例解析:如何做好企业网站的内容更新?

如何做好企业网站的内容更新?很多朋友都不是很清楚下面以轮滑网站为例探讨企业网站内容更新怎样做才更有档次,有需要的朋友可以过来参考一下,来看看吧
收藏 0 赞 0 分享

新手必看——电影贴吧引流都有哪些技巧

今天,我给大家讲讲电影贴吧引流都有哪些技巧,这个很适合新手,对贴吧引流都有哪些技巧感兴趣的朋友参考下
收藏 0 赞 0 分享

京东商城的云计算优先的技术战略简要总结

这篇文章主要介绍了京东的云计算优先的技术战略的简要总结,京东在Spark集群方面所投入的开发研究令人印象深刻,需要的朋友可以参考下
收藏 0 赞 0 分享

解析京东的大数据在运营中的实际应用

这篇文章主要介绍了京东的大数据在运营中的实际应用的案例,包括用户分析和企业管理决策等多方面的运用解析,需要的朋友可以参考下
收藏 0 赞 0 分享

探究京东咚咚架构演进

本文带领大家探究京东咚咚架构演进史, 自从京东开始为第三方卖家提供入驻平台服务后,咚咚也就随之诞生了,今天就和大家一起走进咚咚
收藏 0 赞 0 分享
查看更多