分布式计算技术之MapReduce
分治法
基本思想:将一个复杂,难以直接解决的大问题,分割成一些规模较小,可以比较简单的或者直接求解的子问题,这些子问题之间相互独立且与原问题形式相同,递归求解这些子问题,然后将子问题的解合并得到原问题的解。
MR基本原理
基本组件
Master:MRAppMaster,负责分配任务,协调任务的运行,并为Mapper分配map()函数操作,为Reducer分配reduce()函数操作
Mapper worker:负责Map函数功能,负责执行子任务
Reducer worker:负责Reduce函数功能,集负责汇总各个子任务的结果
基本流程
概括为5个阶段:输入,拆分,映射,化简和输出
对比Fork-Join计算模式
Fork-Join
Java等语言提供的原生多线程并行处理框架,采用线程级别的分而治之计算模式
区别
Fork-Join不能大规模扩展,只适用于单个java虚拟机上运行
菜鸟程序员,博客只做记录,可能问题很多,有问题,还望不吝指出!转载请附上原文地址,谢谢!