1

我有一个用例,其中映射阶段生成的某些键需要在减少开始之前被过滤掉。这样的事情可行吗?请告诉我。

4

2 回答 2

1

想到的几个选项:

  • 修改您的映射器以不输出您要过滤的值
  • 编写一个 reducer 过滤掉你不想要的值,然后将该 reducer 的输出提供给另一个 MapReduce 作业

对于此任务,使用组合器不是一个好的选择,因为正如@100gods 所提到的,不能保证组合器的执行。

于 2012-09-16T01:19:12.323 回答
1

修改 Mapper 类来过滤输入会更准确,因为无法保证组合器的执行,Hadoop 可能会也可能不会执行组合器。此外,如果需要,它可以执行超过 1 次。因此,您的 MapReduce 作业不应依赖于组合器的执行。

于 2012-09-17T09:08:32.483 回答