我有一个用例,其中映射阶段生成的某些键需要在减少踢入之前被过滤出来。是这样的吗?请告诉我。hadoop过滤映射输出
回答
修改Mapper类以过滤输入将会更加准确,因为不能保证组合器的执行,Hadoop可能会也可能不会执行组合器。此外,如果需要,它可能会执行多次。因此,您的MapReduce作业不应依赖于组合器的执行。
浮现在脑海中一对夫妇的选择:
- 修改您的映射不输出要筛选
- 编写过滤掉你不想要的值减速的值,饲料该减速器的输出到另一个MapReduce作业
使用组合器不是此任务的好选择,因为@ 100gods提到,组合器执行不能保证。
如果他无法更改映射器的代码,他也可以使用Combiners过滤出这些值。 –
谢谢你们两位!合并器似乎是更好的选择,因为我无法更改映射器代码。 –
合并器?这个选项不正确。不能保证组合器代码能够执行。如上所述,最好的选择是“不发出你需要滤除的关键值对”。 –
- 1. Spring Security多个filterChainProxy映射/过滤器,自定义过滤器Json输出
- 2. 过滤器映射问题
- 3. Servlet过滤器url映射
- 4. 映射器输入键值对Hadoop中
- 5. Hadoop递归映射
- 6. Hadoop映射进程
- 7. Hadoop映射器可以在输出中生成多个键吗?
- 8. 多个输出文件Hadoop的数据流与Python映射
- 9. Hadoop的映射,与减速机的输出不匹配
- 10. 访问hadoop中间映射输出文件
- 11. 从Hadoop中的映射器生成多个输出文件MapReduce
- 12. Hadoop返回映射器的输出而不是reducer
- 13. Hadoop映射输出类型对于性能
- 14. servlet/servlet映射和过滤器/过滤器映射之间的区别?
- 15. HADOOP - 作为映射器输出产生的输出文件的数量
- 16. Hadoop的,如何压缩映射器输出,但不减速机输出
- 17. 通过Swift词典过滤和映射?
- 18. 通过Seq映射到过滤
- 19. 'SUM()' 中的输出映射
- 20. Hadoop - 文件到块映射
- 21. Hadoop的流单映射
- 22. Hadoop的许多映射器
- 23. Hadoop未找到映射类
- 24. Hadoop几个映射器
- 25. HADOOP:从映射器发射矩阵
- 26. servlet过滤器映射重叠
- 27. 映射$过滤器,以LINQ哪里
- 28. 同时过滤和映射java流
- 29. Groovy中 - 加入过滤器映射
- 30. C#richTextBox过滤或重映射击键
我在我的mapper中使用TextInputFormat,它每次只读一行。我想标记一个文件,如果在某行中发现了某种模式...但是因为所有的map任务都是并行运行的,所以我无法知道某个文件是否被“标记”,直到所有行被扫描。这是我坚持的地方。 –
你在使用合成器的观点是为什么我没有在我的答案中提到这些。我想我应该明确地说过。 – highlycaffeinated