2016-12-18 161 views
0

我有以下文件:Hadoop的聚合兩個功能

Item1 : frequencyOfItem1 
Item2 : frequencyOfItem2 
... 
ItemN : frequencyOfItemN 

一些行,我有後...

Pair1: Item1, Item2 Value1 
Pari2: ItemX, ItemY Value2 

....

PairN: ItemXN, ItemYN ValueN 

我想在map-reduce方式下計算如下新值:

ParirX: ItemX, ItemY ValueX/FrequencyItemNX 

我如何映射並減少這些值?

回答

0

它是不可能性通過執行2個作業合併

  1. 映射器來解決這樣的:在映射器的關鍵是ItemX和值的所有其它元件
  2. 減速機:輸出所有的值(在這種方式予「M基於所述ItemX

JOB2串接值

  • 映射兩個密鑰,一個密鑰整行和值爲ValueX和第二密鑰對整條線和值是FrequencyItemNX
  • 減速器輸出的鍵
  • +0

    糟糕的值之間的DIVISIONE。數字搞砸了。無論如何。您可以用自定義可寫類 –

    +0

    來解決這個問題,您可以提供解決方案的例子嗎? –

    +0

    對不起,我幾年沒有寫mapreduce,但我只是「大聲思考」 –