全文共2601字,预计学习时长5分钟算法
当下,数字宇宙正以飞快的速度追赶着物理宇宙,每两年,全球数据量就会翻一番。据估计,到2020年,数字宇宙将达到44泽字节——其数字位的数量至关于宇宙中恒星的数量。编程
为处理这些数据,市面上的分布式系统也愈来愈多。在众多系统中,Hadoop和Spark常常被视为直接竞争对手进行比较。安全
在决定哪一个框架更合适时,能够根据几个基本的参数来比较。服务器
性能微信
Spark的速度很是快并优于Hadoop框架,内存运行速度快100倍,磁盘运行速度快10倍。此外,使用Spark小10倍的机器对100 TB数据进行排序时,其速度是Hadoop的3倍。框架
Spark速度快是由于在内存中处理数据。Spark的内存处理能够为营销活动、物联网传感器、机器学习和社交媒体网站提供数据实时分析。机器学习
然而,若是Spark与其它服务都在YARN上运行,Spark的性能就会降低,这会致使RAM内存不足。而Hadoop就能很好的解决这一问题,若是用户想要批量处理,那么Hadoop会比Spark高效得多。分布式
注意:Hadoop和Spark有不一样的处理方法。在Hadoop和Spark的性能对比中,到底是使用Hadoop仍是Spark,彻底取决于项目需求。函数
Facebook和Spark框架的过渡之旅工具
Facebook上的数据每分每秒都在增加,Facebook使用分析技术来处理和利用数据作决策,它利用了如下几个平台来实现这一目的:
1. 用于执行Facebook部分批量分析的Hive平台
2. 用于Mapreduce自定义实施的Corona平台
3. 基于ANSI-SQL查询的Presto数据查询引擎
从计算角度来看,上方所讨论的Hive平台属于“资源密集型”,维护这一平台颇具挑战。所以,Facebook决定转向Apache Spark来管理数据。当前,Facebook经过与Spark的整合为实体排名系统部署了一个更快速的可管理通道。
安全性
Spark的安全性仍在不断发展,当前其仅支持经过共享密码(密码身份验证)核实身份。Spache Spark的官网也声明“Spark仍存在不一样类型的安全问题,并不能保护全部的东西”。
另外一方面,Hadoop则具备如下安全特性:Hadoop身份验证、受权、审计和加密。全部这些都与Knox Gateway和Sentry等的Hadoop安全项目相结合。
关键点:在Hadoop和Spark的安全对比中,Spark的安全性略逊于Hadoop。然而,将Hadoop与Spark结合,Spark就能够具有Hadoop的安全特性。
成本
首先,Hadoop和Spark都是开源框架,所以二者都是免费的,都使用普通服务器,都在云端运行,且彷佛有一些相似的硬件需求:
如何从成本角度进行评估呢?
请注意,Spark利用大量RAM来运行内存中的东西。RAM的价格高于硬盘,因此这可能会影响成本。
另外一方面,Hadoop绑定了硬盘,这就节省了购买RAM的成本。可是,Hadoop须要更多的系统来分配磁盘I/O。
所以,在比较Hadoop和Spark框架的成本参数时,机构必需要将需求归入考虑。
若是需求倾向于处理大量大型的历史数据,选择Hadoop就是正确的,由于硬盘空间的价格要比内存空间的价格低得多。
另外一方面,若是要处理实时数据,Spark的性价比更高,由于Spark能够利用更少的硬件以更快的速率执行相同的任务。
注意:在Hadoop和Spark的成本对比中,毋庸置疑,Hadoop的成本更低。但若是机构得处理少许实时数据时,Spark则更为划算。
易操做性
Spark框架的一大USPs就是其易操做性,Spark为Scala Java、Python、Spark SQL(又称之为Shark)提供了用户友好温馨型的API。
Spark的简单构建模块使得编写用户定义函数变得更为轻易。此外,因为Spark支持批量处理和机器学习,所以也易于简化数据处理的基础设施。Spark还包括一个用于运行即时反馈命令的交互模式。
Hadoop是用Java编写的。在编写无交互模式的程序时,Hadoop的难用是众所周知的,因为其给程序的编写带来了很大的困难。尽管Pig(一个附加工具)使得编程更为容易,但却须要花费时间来学习语法。
关键点:在Hadoop和Spark的易操做性对比中,二者都有自身的用户友好方式。但若是必须两者择其一,Spark更易于编程又兼具交互模式。
Apache Hadoop和Spark有可能实现协同合做吗?
咱们很是期盼这样一种可能性,如今来详细了解如何实现协同合做吧。
Apache Hadoop生态系统包括HDFS、Apache Query和HIVE,Apache是如何利用它们的呢?
Apache Spark和HDFS的合并
Apache Spark的目的是处理数据。但为了处理数据,引擎须要从存储中输入数据,Spark利用HDFS来实现这一目的(这一选择不是惟一的,可是最流行的,由于Apache是其背后的大脑)。
Apache HIVE和Apache Spark的混合
Apache HIVE和Apache Spark是高度兼容的,二者相结合能够解决不少的业务问题。
例如,一个公司正在分析消费者行为,须要从诸如社交媒体、评论、点击流数据、客户移动应用程序等各类来源收集数据。
企业能够利用HDFS存储数据,Apache HIVE做为HDFS和Spark的桥梁。
Uber及其合并法
Uber结合Spark和Hadoop来处理消费者数据,使用实时交通情况提供处于特定地点和时间的司机。为实现这一目标,Uber利用HDFS将原始数据上传至HIVE,并利用Spark处理数十亿个事件。
在Hadoop和Spark的对比中,赢家是......
尽管Spark速度快且易操做,但Hadoop是安全性高、存储量大、低成本的批量处理。究竟选择哪个彻底取决于项目需求,将二者结合起来则所向披靡。
将Spark和Hadoop的部分属性结合起来,造成一个全新的框架:Spoop。
留言 点赞 关注
咱们一块儿分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”
(添加小编微信:dxsxbb,加入读者圈,一块儿讨论最新鲜的人工智能科技哦~)