MapReduce源于Google一篇论文,它充分借鉴了“分而治之”的思想,将一个数据处理过程拆分为主要的Map(映射)与Reduce(归约)两步。简单地说,MapReduce就是"任务的分解与结果的汇总"。
MapReduce (MR) 是一个基于磁盘运算的框架,贼慢,慢的主要原因:
1)MR是进程级别的,一个MR任务会创建多个进程(map task和reduce task都是进程),进程的创建和销毁等过程需要耗很多的时间。
2)磁盘I/O问题, MapReduce作业通常都是数据密集型作业,大量的中间结果需要写到磁盘上并通过网络进行传输,这耗去了大量的时间。
注:mapreduce 1.x架构有两个进程:
JobTracker :负责资源管理和作业调度。
TaskTrachker:任务的执行者。运行 map task 和 reduce task。
在2.x的时候由yarn取代他们的工作了。