MapReduce(初代计算引擎)

51 阅读1分钟

定义

分布式离线并行计算框架

对于MapReduce,官网上是这样给出的介绍:Hadoop MapReduce是用于轻松编写应用程序,以可靠,容错的方式在大型集群(数千个节点)的商用硬件上并行处理大量数据(多TB数据集)的一个框架。

然后官网上又给出了MapReduce如何处理作业的:MapReduce作业通常将输入数据集拆分为独立的块,这些块由map任务以完全并行的方式处理。框架对地图的输出进行排序,然后输入到reduce任务。通常,作业的输入和输出都存储在文件系统中。该框架负责调度任务,监视它们并重新执行失败的任务。

MapReduce 是一种编程模型,用于处理和生成大数据集。 它是由 Google 开发的,后来成为 Apache Hadoop 的核心组件之一。MapReduce 通过将大规模数据集的处理任务分解为在多个计算机集群上可以并行处理的小块任务,从而实现分布式计算。

对比Spark

Spark是一种快速、通用、可扩展的大数据处理引擎,继承了MapReduce分布式计算的优点并改进了MapReduce明显的缺点。Spark的中间输出结果可以保存在内存中,因此能更好地适用于数据挖掘与机器学习中迭代次数较多的算法。

在hadoop的生态中,Spark的能力超过了MapReduce,也就是说二者在生态中作用相同,属于计算框架,计算模型。