MapReduce基于“分而治之”的思想,将计算任务抽象成map和reduce两个计算过程。通过适当的split任务,可以充分发挥单台机器的计算能力。同时,良好的伸缩性,使得集群容易扩展。在容错方面,单台节点的失败可由其它节点重算,不会影响其它节点的计算。其缺点是计算的中间结果以文件形式存储,效率较低。另外,MapReduce不适合计算密集型的操作,如机器学习,因为这类任务通常需要反复的迭代,而MapReduce的中间数据存储在磁盘上,速度较慢。因为有这样的问题,也就出现了Spark--基于MapReduce的新的分布式计算引擎。由此也可以感受到,新技术的发展往往是为了应对新的挑战,而对现有技术否定的结果-否定之否定的否定。
对MapReduce初步认识
最新推荐文章于 2024-08-27 06:39:08 发布