Sorting 具有排序键的mapreduce的性能

Sorting 具有排序键的mapreduce的性能,sorting,parallel-processing,mapreduce,Sorting,Parallel Processing,Mapreduce,谷歌的论文中写道: 我们保证在给定的分区内,中间 键/值对按递增键顺序处理。这个命令 Guarrance可以方便地根据每个文件生成排序的输出文件 分区,这在需要更改输出文件格式时非常有用 支持按键或输出用户进行有效的随机访问查找 对数据进行排序比较方便 我还尝试了一个简单的带有“mrJob”(Python)的“wordcount”示例,结果正如预期的那样。在输出中,所有键(字)按字母顺序(升序)排列。 然而,我不明白为什么这是可能的。MapReduce用于并行处理,这意味着所有子进程都是独立的。

谷歌的论文中写道:

我们保证在给定的分区内,中间 键/值对按递增键顺序处理。这个命令 Guarrance可以方便地根据每个文件生成排序的输出文件 分区,这在需要更改输出文件格式时非常有用 支持按键或输出用户进行有效的随机访问查找 对数据进行排序比较方便

我还尝试了一个简单的带有“mrJob”(Python)的“wordcount”示例,结果正如预期的那样。在输出中,所有键(字)按字母顺序(升序)排列。

然而,我不明白为什么这是可能的。MapReduce用于并行处理,这意味着所有子进程都是独立的。例如,reducer计算单词的频率并写入输出,然后完成。但是对于订单输出,显然子进程在写入其输出之前必须等待其他进程比较键。这意味着它无法利用并行处理的能力。

那么他们是如何解决的呢?

谢谢。

他们没有。它只按分区排序。哦,真的吗?也许我在电脑上得到的结果不够全面。我应该在集群上测试吗?您的示例可能只在一个分区上执行。尝试使用更大的数据集。