Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop洗牌问题_Hadoop_Shuffle - Fatal编程技术网

Hadoop洗牌问题

Hadoop洗牌问题,hadoop,shuffle,Hadoop,Shuffle,我刚刚学习了这本书。我对最重要的过程有几个问题:洗牌 排序、分区和合并的时间顺序 映射器的输出可能是几个还原器的输入。从书中我们知道,映射器将首先将其输出写入其内存缓冲区。在将缓冲区溢出到磁盘之前,将进行排序和分区。我想及时了解它们的顺序。我的推断是:在结果溢出到dist之前,执行分区以确定输出属于哪个减缩器。然后,对于每个分区,分别执行排序方法(我知道,它是快速排序)。当缓冲区已满或达到阈值时,则溢出到磁盘 每个溢出文件和合并文件属于每个减速器还是多减速器 同样,根据这本书,当溢出的文件太多时

我刚刚学习了这本书。我对最重要的过程有几个问题:洗牌

  • 排序分区合并的时间顺序

    映射器的输出可能是几个还原器的输入。从书中我们知道,映射器将首先将其输出写入其内存缓冲区。在将缓冲区溢出到磁盘之前,将进行排序和分区。我想及时了解它们的顺序。我的推断是:在结果溢出到dist之前,执行分区以确定输出属于哪个减缩器。然后,对于每个分区,分别执行排序方法(我知道,它是快速排序)。当缓冲区已满或达到阈值时,则溢出到磁盘

  • 每个溢出文件合并文件属于每个减速器还是多减速器

    同样,根据这本书,当溢出的文件太多时,会发生合并操作。这又让我困惑了

    2.1每个溢出文件是否属于每个缩减器,或者它们只是内存缓冲区的一个简单转储文件,属于多个缩减器

    2.2.合并溢出文件后,合并文件将包含多个减速器的输入数据?那么,当涉及到reducer的复制阶段时,reducer如何从这个合并文件中获取实际属于它的部分呢

    2.3每个Mapper任务将生成一个合并文件,而不是每个taskTracker,对吗