MapReduce原理及解释

MapReduce重点知识

  • 有多少个分片就有多少个map任务;分片大小默认为64MB,
  • jar包的提交位置:HDFS
  • map任务接受的类型是字典{key,value}
  • map任务的分配是NM通过定时心跳机制汇报自身情况的时候向Rm领取任务
  • 读取输入文件内容,解释成key,value对,对文件每一行解析成key,value对,一个键值对调用一次map函数。(key:数据的字符开头偏移量; value:数据内容)
    MapReduce原理及解释
    MapReduce原理及解释
map任务处理
  1. 读取输入文件内容,解释成key,value对,对文件每一行解析成key,value对,一个键值对调用一次map函数。
  2. 写自己的逻辑,对输入的key,value处理,转换成新的key,value输出。
  3. 对输出的key和value进行分区。
  4. 对不同分区的数据,按照key进行排序,分组。相同的key的value放到一个集合中。
  5. (可选)分组后的数据进行规约。
reduce任务处理
  1. 对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点。
  2. 对多个map任务的输出进行合并,排序。写reduce函数自己的逻辑,对输入的key,value处理,转换成新的key,value输出。
  3. 把reduce的输出保存在文件中。