簡體   English   中英

當我們在 Hadoop MapReduce 中使用多個輸入時,組合器如何工作

[英]How combiner works when we use multiple inputs in Hadoop MapReduce

為此,我正在 Hadoop MapReduce(Java) 中實現減少端加入,我正在使用多個輸入,例如有兩個文件客戶和訂單,我加入了他們考慮 cid(customer_id)。

我的問題:

  1. 在上面的程序中,如果我編寫組合器 class 它將如何工作,據我所知組合器是映射器級別的聚合器,但是在這種情況下我們有兩個映射器邏輯。
  2. 組合器邏輯是否適用於兩個映射器邏輯
  3. 有什么方法可以將組合器邏輯應用於任何一個映射器邏輯

組合器聚合映射器 output,您可以使用您認為更好的任何代碼覆蓋它。 Combiner被稱為Mini-Reducer,繼承了reducer class。

請記住,組合器不能保證在所有情況下都運行,因此您的映射器 output 應該始終足以作為減速器輸入。

我不明白你的問題,不管你的映射器輸入是什么,映射器 output 將是一些鍵值數據。 組合器只是聚合或簡單地將它們相加,例如您的映射器 output 是:

{'ali':2, 'jack':4, 'ali':3}

結合您的 output 后將是:

{'ali':5, 'jack':4}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM