概述
1、MapReduce是Hadoop提供的一套用于进行分布式计算的框架 【移动计算而不是移动数据】
2、MapReduce是Doug根据Google的论文阐述的原理来实现的
3、MapReduce会将计算过程拆分成2个阶段:Map(映射)阶段和Reduce(规约)阶段
工作过程
在HDFS上有多个split分片,每个split会交由一个MapTask(其实就是一个线程)进行处理。Map处理的结果会是一个个键值对。
进入Reduce阶段进行汇总
汇总前将具有相同的键的值放到一组里面
然后进行汇总求和,求和的结果也是一个键值对
最后输出到HDFS
数据类型
MR计算框架里面,没有java中的基本数据类型,而是使用的一套自己的可序列化的类型和基本数据类型对应。
例如Long类型对应的可序列化类型是LongWritable
char类型不提供Writable类型,作为字符串进行处理