要调试一些map / reduce作业,我经常使用一个基本上读取
的简单unix命令来测试它们cat data/* | mapper | sort | reduce > out
现在一切正常,但我想知道map | sort
命令会发生真正的。
更确切地说:
有人知道sort
如何加载ram / cpu?
sort
命令是否即时排序数据 ,还是等待地图作业完成(注意映射器使用STDOUT并且不等待计算结束输出数据)?
感谢您的回答:)
答案 0 :(得分:3)
在Linux中,sort
使用合并排序算法(来自http://en.wikipedia.org/wiki/Sort_(Unix))。合并排序可以将一些部分存储在磁盘上的临时文件中(在sort
的情况下也是如此)。因此,该过程使用了合理数量的RAM(您可以通过--buffer-size
选项指定使用多少RAM)。