预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

ApacheSpark与HadoopMapReduce的五个主要区别: 1、ApacheSpark可能比HadoopMapReduce快100倍。 2、ApacheSpark使用内存,并且不依赖于Hadoop的两阶段范式。 3、ApacheSpark适用于可以全部放入服务器内存的较小数据集。 4、Hadoop处理海量数据集更具成本效益。 5、ApacheSpark现在比HadoopMapReduce更受欢迎。 多年来,Hadoop一直是大数据无可争议的首选——直到Spark出现。自2014年首次发布以来,ApacheSpark一直在点燃大 数据世界。凭借Spark便捷的API和承诺的速度比HadoopMapReduce快100倍,一些分析人士认为,Spark标志着大数据 新时代的到来。 Spark是一个开源数据处理框架,如何能够如此快速地处理所有这些信息?秘诀在于Spark在集群上运行在内存中,它不依赖 于Hadoop的MapReduce两阶段范式。这使得重复访问相同数据的速度更快。Spark可以作为独立应用程序运行,也可以在 HadoopYARN之上运行,它可以直接从HDFS读取数据。雅虎、英特尔、百度、Yelp和Zillow等数十家主要科技公司已经 将Spark作为其技术堆栈的一部分。 虽然Spark似乎注定要取代HadoopMapReduce,但您现在还不应该指望MapReduce。在这篇文章中,我们将比较这两个平台, 看看Spark是否真的非常有优势。 什么是ApacheSpark? ApacheSpark是“用于大规模数据处理的统一分析引擎”。Spark由非营利性的ApacheSoftwareFoundation维护,该基金会 已经发布了数百个开源软件项目。自项目启动以来,已有1200多名开发人员为Spark做出了贡献。 Spark最初是在加州大学伯克利分校的AMPLab开发的,于2010年首次作为开源项目发布。Spark使用HadoopMapReduce 分布式计算框架作为其基础。Spark旨在改进MapReduce项目的几个方面,例如性能和易用性,同时保留MapReduce的许 多优点。 Spark包括一个核心数据处理引擎,以及用于SQL、机器学习和流处理的库。凭借适用于Java、Scala、Python和R的API, Spark在开发人员中享有广泛的吸引力——为其赢得了大数据处理领域“瑞士军刀”的美誉。 什么是HadoopMapReduce? HadoopMapReduce将自己描述为“一个用于轻松编写应用程序的软件框架,该应用程序以可靠、容错的方式在大型商用硬件集 群(数千个节点)上并行处理大量数据(多TB数据集)。” MapReduce范式由两个顺序任务组成:Map和Reduce(因此得名)。Map过滤和排序数据,同时将其转换为键值对。然后, Reduce接受此输入并通过对数据集执行某种汇总操作来减小其大小。 MapReduce可以通过分解大型数据集并并行处理它们来极大地加速大数据任务。MapReduce范式由Google员工JeffDean 和SanjayGhemawat于2004年首次提出;后来它被整合到Apache的Hadoop框架中以进行分布式处理。 Spark和MapReduce的区别 ApacheSpark和HadoopMapReduce之间的主要区别是: >性能 >易于使用 >数据处理 >安全 然而,Spark和MapReduce之间也有一些相似之处——这并不奇怪,因为Spark使用MapReduce作为其基础。Spark和 MapReduce的相似点包括: >成本 >兼容性 >容错 下面,我们将在每个部分详细介绍Spark和MapReduce之间的差异(以及相似之处)。 SparkVSMapReduce:性能 ApacheSpark在随机存取存储器(RAM)中处理数据,而HadoopMapReduce在执行映射或归约操作后将数据持久化回磁盘。 那么理论上,Spark的性能应该优于HadoopMapReduce。尽管如此,Spark需要大量内存。与标准数据库非常相似,Spark将 进程加载到内存中并保留在那里,直到进一步通知以进行缓存。如果您在HadoopYARN上运行Spark和其他需要资源的服务, 或者如果数据太大而无法完全放入内存,那么Spark可能会遭受严重的性能下降。 MapReduce会在作业完成后立即终止其进程,因此它可以轻松地与性能差异很小的其他服务一起运行。 对于需要多次传递相同数据的迭代计算,Spark具有优势。但是,当涉及到类似ETL的一次性作业时——例如,数据转换或数 据集成—