使用排序键

时间:2016-01-14 16:02:37

标签: sorting parallel-processing mapreduce

在谷歌的论文中,它指出:

  

我们保证在给定分区内,中间件   键/值对按递增键顺序处理。这个订购   保证可以轻松生成每个排序的输出文件   分区,在输出文件格式需要时很有用   支持按键或输出用户进行有效的随机访问查找   发现将数据排序很方便。

我还尝试了一个简单的例子" wordcount"与" mrJob" (Python),它按预期工作。在输出中,所有键(单词)都按字母顺序(升序)排列。

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

那么他们如何解决呢?
谢谢。

0 个答案:

没有答案