5

我尝试使用处理文本文件的hadoop实现一个应用程序。问题是我无法保持输入文本的顺序。有没有办法选择散列函数?这个问题可以通过分配输入的分区来轻松解决到每个映射器,然后将分区发送到减速器。这可能与 hadoop 吗?

4

1 回答 1

2

MapReduce 的基本思想是事情完成的顺序是无关紧要的。因此,您不能(也不需要)控制以下顺序:

  • 输入记录通过映射器。
  • 键和相关值通过减速器。

您唯一可以控制的是值在迭代器中的放置顺序,该迭代器在 reducer 中可用。这是使用称为“二级排序”的构造完成的。

对这个术语的一个简单的谷歌操作导致了几个可以继续的点。我喜欢这篇博文:链接

于 2012-11-18T20:12:56.573 回答