MapReduce概述
源自于Google的MapReduce论文,发表于2004年12月
Hadoop MapReduce是Google MapReduce的克隆版
MapReduce优点:海量数据的离线处理、易开发、易运行。
所谓海量数据,说明MapReduce可以处理的数据量非常大,离线处理说明MapReduce跟实时响应不同,用户将作业提交,系统按批次进行处理,由于数据量大,自然非常耗时。
所谓易开发,如果我们自己要实现这样的分布式应用程序的话需要考虑很多东西,比如如何对文件进行拆分、如何处理节点故障问题,MapReduce框架在内部已经封装好了这些问题,我们只要把重心关注在应用逻辑的处理上就行了。
所谓易运行,当然这个易运行是相对的。
MapReduce缺点:无法满足实时流式计算
MapReduce的作业是非常耗时的,不可能实时处理数据;流式计算也是无法满足的,我们之前看过MapReduce的处理图,它的各个流程是由依赖关系的,也就是说如果map没做完,那么reduce也做不了。
Hadoop官网是这么介绍MapReduce框架的:
Overview
Hadoop MapReduce is a software framework for easily writin