MapReduce介绍
MapReduce是一种编程模型,主要用于大于1TB数据的并行计算。
MapReduce主要包括Map和Reduce两个阶段,他的核心思想是函数式编程。
MapReduce特性:
1、自动实现分布式并行计算;
2、容错
3、提供状态监管工具
4、模型抽象简单,程序易用
Mapping:映射和分发,分发到Reducing之前经过Shuffling(洗牌)的过程。
Shuffling:按照Key进行分组
Reducing:聚合运算(相同的Key进行合并)
Map和Reduce 是串行的计算,Map和Reduce内部是并行的计算。