admin 管理员组文章数量: 1086019
2024年6月11日发(作者:html怎么在图片上添加文字)
Spark是加州大学伯克利分校的AMP实验室开源的类似MapReduce的通用并行
计算框架,拥有MapReduce所具备的分布式计算的优点。但不同于MapReduce
的是,Spark更多地采用内存计算,减少了磁盘读写,比MapReduce性能更高。
同时,它提供了更加丰富的函数库,能更好地适用于数据挖掘与机器学习等分析算
法。
Spark在Hadoop生态圈中主要是替代MapReduce进行分布式计算,如下
图所示。同时,组件SparkSQL可以替换Hive对数据仓库的处理,组件Spark
Streaming可以替换Storm对流式计算的处理,组件Spark ML可以替换
Mahout数据挖掘算法库。
Spark在Hadoop生态圈中的位置
01
Spark的运行原理
如今,我们已经不再需要去学习烦琐的MapReduce设计开发了,而是直接上
手学习Spark的开发。这一方面是因为Spark的运行效率比MapReduce高,
另一方面是因为Spark有丰富的函数库,开发效率也比MapReduce高。
首先,从运行效率来看,Spark的运行速度是Hadoop的数百倍。为什么会有
如此大的差异呢?关键在于它们的运行原理,Hadoop总要读取磁盘,而
Spark更多地是在进行内存计算,如下图所示。
Hadoop的运行总是在读写磁盘
前面谈到,MapReduce的主要运算过程,实际上就是循环往复地执行Map与
Reduce的过程。但是,在执行每一个Map或Reduce过程时,都要先读取磁
盘中的数据,然后执行运算,最后将执行的结果数据写入磁盘。因此,
MapReduce的执行过程,实际上就是读数据、执行Map、写数据、再读数
据、执行Reduce、再写数据的往复过程。这样的设计虽然可以在海量数据中减
少对内存的占用,但频繁地读写磁盘将耗费大量时间,影响运行效率。
版权声明:本文标题:将Spark的技术框架讲明白了 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1718100115a717010.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论