我有一个链接大量Mappers的工具& Reducers,并且在某些时候我需要合并来自之前map-reduce步骤的结果,例如作为输入我有两个带有数据的文件:Hadoop映射器从2个不同的源输入文件中读取
/input/a.txt
apple,10
orange,20
*/input/b.txt*
apple;5
orange;40
结果应该c.txt,其中c.value = a.value中* b.value
/output/c.txt
apple,50 // 10 * 5
orange,800 // 40 * 20
如何才能做到?我已经通过简单的Key => MyMapWritable(type = 1,2,value)解决了这个问题,并在reducer中合并(实际上是乘法)数据。它的工作原理,但:
- 有感觉,它可以做更容易(气味不好)
- 是否有可能以某种方式知道里面映射究竟哪些文件被用作记录提供商(A.TXT或b。文本)。现在,我只是用不同的分隔符:昏迷&分号:(
断链条:( – 2014-02-08 13:05:34