hadoop过滤地图输出

时间:2012-09-16 01:09:29

标签: map hadoop mapreduce

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

2 个答案:

答案 0 :(得分:1)

我想到了几个选项:

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

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

答案 1 :(得分:1)

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