大数据hw2 part1 (hadoop编程)利用mapreduce

Hadoop的核心内容之一HDFS,是Hadoop分布式的平台基础,而MapReduce则是充分利用Hdfs分布式,提高运行效率的算法模型 Map(映射)Reduce(归约)两个主要阶段都以<key,value>键值对作为输入和输出,我们需要做的就是对这些<keyvalue>做我们想要的处理。

https://blog.csdn.net/liujiahan629629/article/details/48301427

map任务处理:

      1.读取输入文件内容,解析成键值对(key/value).对输入文件的每一行,解析成键值对(key/value).每一个键值对调用一次map函数

      2.写自己的逻辑,对输入的键值对(key/value)处理,转换成新的键值对(key/value)输出.

      3.对输出的键值对(key/value)进行分区.(partition)

      4.对不同分区的数据,按照key进行排序,分组.相同的key/value放到

        一个集合中.(shuffle)

      5.分组后的数据进行规约.(combiner,可选择的),也就是可以在mapper中处理一部    

        reduce的工作,将reduce的工作进行减压


   reduce任务处理:

      1.对多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点.

      2.对多个map任务的输出进行合并,排序.reduce函数自己的逻辑,对输入的

         key/value处理,转换成新的key/value输出.

      3.reduce的输出保存到文件中(写入到hdfs).

大数据hw2 part1 (代码见github)



猜你喜欢

转载自blog.csdn.net/qq_35240555/article/details/80250800