如何让多个reduce使用同一个map的结果

2024-04-30 百科 86阅读 投稿:未至

1.如何让多个reduce使用同一个map的结果

在Map阶段处理数据时,由于内存的限制,会把数据先写到文件中,最终会根据数据的多少生成多个文件,每个文件中会按照Reduce的个数分区,每个分区的数据都按照key值顺序排放,Map结束后将多个文件合并为同一个文件,合并时会将多个文件相同分区的数据合并在一起并且多个分区的数据重新排序按照key顺序排放。

在Reduce阶段则从多个Map中获取属于该Reduce的分区数据,然后会根据数据的多少写到文件和内存中,每个Map的数据为一个文件或一段内存,最后对内存和文件的数据进行合并计算输出最后的结果,合并的方式与Map合并方式一致。因此在Map和Reduce阶段都存在把多个文件或多段内存中的数据合并计算输出一个文件。

声明:沿途百知所有(内容)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们将尽快删除