Mapruduce工作原理
与hdfs(分布式文件系统)不同,Mapreduce 是一个分布式计算模型,如图
执行步骤:
1. map任务处理------>切片
1.1 读取输入文件内容,解析成key、value对,输入文件的每一行,就是一个key、value对,对应调用一次map函数。
1.2 写自己的逻辑,对输入的key、value(k1,v1)处理,转换成新的key、value(k2,v2)输出。
2.reduce任务处理------>计算
(注意)在reduce之前,有一个shuffle的过程对多个map任务的输出进行合并、排序、分组等操作。
2.1 写reduce函数自己的逻辑,对输入的key、value(k2,{v2,...})处理,转换成新的key、value(k3,v3)输出。
2.2 把reduce的输出保存到文件中。