2012-11-29 49 views
1

讓作業j由「M」個地圖任務和「R」個減少任務數組成。地圖和減少任務的排序

M(1) M(2)...... Map(m) 
Reduce(1) Reduce(2) ... Reduce(R) 

你怎麼知道map和reduce任務之間的順序?我們知道Map任務的輸出將輸入Reduce任務。但是,如果我想模擬訂購,我應該怎麼做? 例如

M1 M2 M3

R1 R2

能夠具有 「M1」 和 「M2」 是 「R1」 輸入和 「R2」 的 「M3」 輸入的輸出的輸出呢?實際情況如何排序?

回答

1

您以便通過映射器和減速器:

  • 具體映射器和減速器配置工作,
  • 定義的工作流

作業可以有任意數量的映射器和減速。您可以使用腳本或oozie工作流明確定義作業依賴關係,或者您可以讓工作流管理器(Azkaban,oozie等)根據哪些作業的映射器使用哪些作業reducers的輸出來計算依賴關係。

+0

謝謝,你是什麼意思定義工作流程?我認爲每個工作集合的地圖和減少,這是獨立於其他工作。我錯了嗎? – Sara

+1

你必須描述作業的順序。您可以在代碼或腳本中明確地執行此操作,也可以讓工作流程管理器根據哪些作業創建並從哪些文件/文件夾讀取數據來爲您解決問題。是的,除此之外,每個作業都是獨立配置和執行的。 –