「減速器不同於減少任務,減速器可以運行多個減少任務」。有人可以用下面的例子來解釋嗎?減少任務和減速器之間的區別
foo.txt的:甜,這是foo文件 跳回到bar.txt:這是條文件
,我使用2個減速。什麼是減少任務,並基於減速器中生成多個減少任務的情況?
「減速器不同於減少任務,減速器可以運行多個減少任務」。有人可以用下面的例子來解釋嗎?減少任務和減速器之間的區別
foo.txt的:甜,這是foo文件 跳回到bar.txt:這是條文件
,我使用2個減速。什麼是減少任務,並基於減速器中生成多個減少任務的情況?
減速器是一個類,其中包含減少功能如下
protected void reduce(KEYIN key, Iterable<VALUEIN> values, Context context
) throws IOException, InterruptedException {
減少任務是程序的節點,其被執行上運行減少功能減速機班。
你可以認爲Reduce任務爲減速
的一個實例看一看更多細節(有效載荷節)的Apache MapReduce教程頁面。
從我的理解中,Reducer是計算資源的一個插槽,可以用來完成減少任務。 Reducer可以被分配給一個任務,它執行完成/失敗,一旦任務達到最終狀態,它就可以處理另一個reduce任務,後期清理。
在紗線中,這些概念雖然有點不同。
減速器是你寫(或重複使用)來處理數據的到來。
reduce任務的代碼是在您的羣集中的節點上運行的代碼減速器的實際實例。這個任務有一個狀態機,可能會失敗。在發生故障的情況下,另一個減少任務即將啓動以重新啓動計算。這被稱爲減少任務嘗試。重新啓動計算的次數有限(「最大嘗試次數」)。
您可以配置n
reducer(與reduce任務相同),這是在作業執行的任何時間點(預留推測性執行)可能發生的並行reduce任務的最大數量。
引用重試機制的答案是有用的 –
你的意思是說,每個reducer的目的是執行一個減少任務,如果它沒有失敗,對! 對於我接過例如,第一次降低任務將產生: 條1個 文件2 富1 是2 而第二個reduce任務會產生: 甜1 這2 請確認如果我是對的 – Arighna