我想链接多个 mapreduce 作业,即前一个 mapreduce 作业的输出是下一个 mapreduce 作业的输入。因为我的输出非常大,磁盘 IO 过载非常重,我想找到替代解决方案来减少 IO 瓶颈。我找到了 ChainMapper/ChainReducer API。该文件提到了以下属性
“使用 ChainMapper 和 ChainReducer 类可以组成看起来像 [MAP+ / REDUCE MAP*] 的 Map/Reduce 作业。这种模式的直接好处是磁盘 IO 的显着减少。”
但是我不太明白为什么使用 ChainMapper/ChainReducer 会减少磁盘 IO。而要减少IO,我应该如何使用这两个API?