分布式计算技术之MapReduce

分治法

基本思想:将一个复杂,难以直接解决的大问题,分割成一些规模较小,可以比较简单的或者直接求解的子问题,这些子问题之间相互独立且与原问题形式相同,递归求解这些子问题,然后将子问题的解合并得到原问题的解。

MR基本原理

基本组件

Master:MRAppMaster,负责分配任务,协调任务的运行,并为Mapper分配map()函数操作,为Reducer分配reduce()函数操作

Mapper worker:负责Map函数功能,负责执行子任务

Reducer worker:负责Reduce函数功能,集负责汇总各个子任务的结果

基本流程

概括为5个阶段:输入,拆分,映射,化简和输出

对比Fork-Join计算模式

Fork-Join

Java等语言提供的原生多线程并行处理框架,采用线程级别的分而治之计算模式

区别

Fork-Join不能大规模扩展,只适用于单个java虚拟机上运行

posted on 2020-02-13 09:52  BattleScars  阅读(285)  评论(0编辑  收藏  举报