MapReduce简介
MapReduce是一种分布式计算模型,是Google提出的,主要用于搜索领域,解决海量数据的计算问题。MR有两个阶段组成:Map和Reduce,用户只需实现map()和reduce()两个函数,即可实现分布式计算。
MapReduce的执行过程
MapReduce的执行原理
MapReduce的执行过程(想学就手打)
首先是Map阶段
首先要保证你的HDFS中有文件并且有你设置的分割符
1.第一步就是Map去读取你在HDFS中的文件(这个MapReduce已经实现只需要继承他的类)
2.第二步根据你规定的分割符切分放入一个String的数组中
Map是以键值对<k,v>的形式传输数据的(传输的文件类型不同那么传输的格式也就不同)
继承的类后面的参数前两个是固定的后两个根据你传输的数据而定你也可以把他俩当成k,v的数据类型
2.Shuffle过程
他的过程也称Copy阶段。reduce task从各个map task上远程拷贝一片数据,并针对某一片数据,如果其大小超过一定的阀值,则写到磁盘上,否则直接放到内存中。它贯穿了MAP和Reduce两个阶段
具体参考:https://www.cnblogs.com/felixzh/p/4680808.html
3.reduce阶段
4.注册驱动
注意:加载类是自己的加载类
5.打包放到Linux上
执行