最近,我读,该算法用于从DNA数据开采最大毗连图案的纸。提出的方法听起来很有趣,它使用了以下的MapReduce模型。 map-> map-> reduce-> reduce。即,执行第一映射阶段并将其输出输入到第二阶段映射。第二阶段图的输出被输入到第一阶段缩减。第一阶段reduce的输出被输入到第二阶段reduce,最后结果被刷新到HDFS中。 虽然这看起来像一个有趣的方法,但该报没有提到他们是如何实施它的。我的问题是,你如何实现这种MapReduce链接?MAP-> MAP-> reduce-> reduce->最终输出
回答
我认为有两种方法来对付你的情况:
整合两家地图的功能代码到一个地图的任务有两个阶段。使用与地图相同的方法减少任务。
鸿沟地图地图降低,减少进度为两个作业:两个地图作为第一个Hadoop的工作将在第二张地图的任务类型来降低任务之后;在将第一个reduce任务转换为map后,两个作为第二个Hadoop工作减少。也许你可以使用Oozie来处理Hadoop工作流,如果提交一些hadoop作业取决于其他人。
Oozie可能是一个选项。要检查出来。 – Ahmedov 2012-03-20 09:20:07
链接已死... – ManuelSchneid3r 2015-05-19 14:50:32
在Hadoop的,据我所知,你不能这样做,因为现在。
一种方法可以是使用ChainMapper做MAP-> MAP->减少一部分。然后,将此作业的结果发送到另一个作业,并将映射器设置为IdentityMapper,并将缩减器设置为您拥有的第二阶段缩减器。
IdentityMapper不支持新的API,对吧?它在map()函数中使用OutputCollector – Ahmedov 2012-03-20 10:14:51
请阅读关于TEZ。 M-> M-> R-> R->ř任何组合被有
- 1. Cipher.do最终输出大小
- 2. For循环最终输出
- 3. 为什么最终输出“B-D”
- 4. 在jQuery中收集最终输出
- 5. 只打印最终的odeint输出
- 6. linux终端输出
- 7. Git终端输出
- 8. Matlab终端输出
- 9. 扫描仪在给出最终输出之前请求多个输入
- 10. 如何使Eclipse调试输出始终显示最新的输出行
- 11. 写入流最终溢出
- 12. Python命令输出终端
- 13. Tkinter显示终端输出
- 14. Python终端输出宽度
- 15. 终止Java Midi输出
- 16. 查询始终输出Probmlem
- 17. 输出始终为X
- 18. BeautifulSoup输出始终为“b”'“
- 19. 持久性终端输出
- 20. “freeze”终端输出(/ dev/tty1)
- 21. CUDA输出始终为0
- 22. 配置Rspec终端输出
- 23. Jenkins - 多个终端输出
- 24. 获取未输入最终输出的输入文件的行号
- 25. Linux终端输入/输出C程序
- 26. 保留一些管道值最终输出
- 27. 有问题if/else我最终有两个输出文件
- 28. 加密+初始化,更新,最终得到加密输出
- 29. FFmpeg连接,没有音频在最终输出
- 30. Git存档删除最终压缩输出上的.ebextensions
由于支撑。我实际上不知道如何接受一个问题:)我试图“投票”,但coudldn't – Ahmedov 2012-03-19 10:58:28
你可以链接文件? – 2012-03-19 14:49:04