MapReduce:分布式计算的框架
优点:可以在短时间内完成大量的工作。-------------------因为它使得程序以并行的方式运行!
缺点:算法必须经过重写,需要对系统工程有一定的理解。
其可以理解为有两个阶段处理过程:一个map阶段,一个reduce阶段。map阶段的输出经过处理,进行下一步的处理工作,而这部分的处理工作是由reducer来完成的。注意:在任何时候,每个mapper或reducer之间都不进行通信(因为并行,互不干扰,而reducer会接收mapper生成的数据),每个节点只处理自己的事物,且在本地分配的数据集上运算。
MapReduce的框架示意:
关于MapReduce的学习要点:
1.主节点控制MapReduce的作业流程。
2.MapReduce的作业流程可以分成map任务和reduce任务。
3.map任务之间不做数据交流,reduce任务也一样.
4.数据被重复存放在不同的机器上,以防某个机器失效。
5.mapper和reducer传输的数据形式为key/value对