我有一個鏈接大量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