小编Dob*_*bby的帖子

MapReduce示例

我正在阅读有关mapreduce的内容,我想知道一个特定的场景.假设我们有几个文件(例如fileA,fileB,fileC),每个文件由多个整数组成.如果我们想对所有文件中的数字进行排序以创建如下内容:

23 fileA
34 fileB
35 fileA
60 fileA
60 fileC
Run Code Online (Sandbox Code Playgroud)

地图和减少过程如何工作?

目前,这就是我所拥有的,但它并不完全正确;

  1. (fileName, fileContent) -> (map to) (Number, fileName)

  2. 对临时密钥,值对和get进行排序 (Number, (list of){fileName1, fileName2...})

  3. 减少临时对并得到

    (Number, fileName1)
    (Number, fileName2)
    
    Run Code Online (Sandbox Code Playgroud)

    等等

问题是在排序阶段,文件名可能不是按字母顺序排列,因此reduce部分不会生成正确的输出.有人可以就这种情况的正确方法提供一些见解吗?

hadoop mapreduce

5
推荐指数
1
解决办法
735
查看次数

标签 统计

hadoop ×1

mapreduce ×1