加米谷大数据|MapReduce与Apache Spark,带你对比Hadoop

文章来源:加米谷大数据
Hadoop和Spark是大数据生态系统中流行的apache项目 。 ApacheSpark是对hadoop大数据生态系统的原始HadoopMapReduce组件的改进 。 ApacheSpark令人兴奋 , 因为它在内存数据集的交互式数据查询以及多遍迭代机器学习算法中提供了真正的优势 。 但是 , 关于Spark是否可以通过取代它并成为顶级大数据分析工具而对ApacheHadoop构成挑战 , 这引起了激烈的争论 。 详细说明的是关于SparkHadoop比较的详细讨论 , 可帮助用户理解为何spark比Hadoop更快 。
ApacheSpark与Hadoop大数据世界中有多种方法使ApacheHadoop成为迭代数据处理 , 交互式查询和即席查询的理想选择 。 每个Hadoop用户都知道HadoopMapReduce框架主要用于批处理这一事实 , 因此不适合将HadoopMapReduce用于机器学习过程 , 临时数据探索和其他类似过程 。
大多数大数据供应商都在努力寻找可解决此难题的理想解决方案 , 这为要求非常高且受欢迎的名为ApacheSpark的替代方案的出现铺平了道路 。 与MapReduce相比 , Spark使得开发完全是一项令人愉快的活动 , 并具有更好的性能执行引擎 , 同时使用相同的存储引擎HadoopHDFS来执行海量数据集 。
SparkHadoop比较
在我们进一步讨论什么使HadoopMapReduce具有ApacheSpark的能力之前 , 让我们简要地了解ApacheSpark的实际含义 , 然后继续理解两者之间的区别 。
Hadoop的用户友好界面简介-ApacheSparkSpark是由加州大学伯克利分校AMP实验室的50家公司的近250位开发人员共同开发的一种快速集群计算系统 , 它可以使数据分析变得更快 , 更容易编写和运行 。
ApacheSpark是可免费下载的开放源代码 , 因此使它成为分布式编程框架(即大数据)的用户友好界面 。 Spark遵循通用执行模型 , 该模型有助于内存计算和任意运算符图的优化 , 因此与基于磁盘的引擎(如MapReduce)相比 , 查询数据变得更快 。
ApacheSpark拥有一个设计良好的应用程序编程接口 , 该接口由各种并行集合组成 , 这些集合具有诸如groupByKey , Map和Reduce之类的方法 , 因此您仿佛在本地编程 。 使用ApacheSpark , 您可以使用功能性编程语言Scala编写面向集合的算法 。
为什么开发ApacheSpark?【加米谷大数据|MapReduce与Apache Spark,带你对比Hadoop】谷歌设想并成功实施了HadoopMapReduce , 而ApacheHadoop是一个非常著名且广泛使用的执行引擎 。 您会发现几个应用程序 , 它们与如何将其工作分解为一系列MapReduce作业的条件相似 。 所有这些实时应用程序都必须继续运行 , 而无需进行任何更改 。
但是 , 用户一直抱怨HadoopMapReduce存在高延迟问题 , 因为在处理和分析数据时 , 所有这些实时应用程序的批处理模式响应都非常痛苦 。
现在 , 这为HadoopSpark铺平了道路 , 后者是继续系统 , 比HadoopMapReduce更强大 , 更灵活 。 尽管事实可能并非所有将来的分配或现有应用程序都完全放弃HadoopMapReduce , 但是大多数未来应用程序仍有一定余地可以利用通用执行引擎(如HadoopSpark)附带还有更多创新功能 , 可以完成比MapReduceHadoop更大的成就 。
ApacheSpark与Hadoop-为什么Spark比hadoop快?ApacheSpark是一个开源独立项目 , 旨在与HDFS共同发挥作用 。 到目前为止 , ApacheSpark拥有庞大的声音贡献者和用户社区 , 这是因为使用Scala使用Spark编程更容易 , 并且比磁盘和内存中的HadoopMapReduce框架要快得多 。
因此 , HadoopSpark只是未来大数据应用程序的合适选择 , 这些应用程序可能需要更低的延迟查询 , 迭代计算以及对相似数据的实时处理 。
相对于HadoopMapReduce框架 , HadoopSpark在其可以处理的大量计算工作负载以及执行批处理作业的速度方面具有许多优势 。
Hadoop和Spark之间的区别


推荐阅读