第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Map Reduce編程中的reducer的改組和排序階段的目的是什么?

Map Reduce編程中的reducer的改組和排序階段的目的是什么?

千萬里不及你 2019-11-22 13:03:01
在Map Reduce編程中,reduce階段具有改組,排序和reduce的子部分。排序是一件昂貴的事情。Map Reduce編程中的reducer的改組和排序階段的目的是什么?
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經(jīng)驗 獲得超4個贊

首先shuffling是將數(shù)據(jù)從映射器傳輸?shù)胶喕鞯倪^程,所以我認(rèn)為對于簡化器來說很明顯是必要的,因為否則,它們將無法獲得任何輸入(或每個映射器的輸入) 。改組甚至可以在地圖階段完成之前開始,以節(jié)省一些時間。因此,當(dāng)?shù)貓D狀態(tài)尚未達到100%時,您會看到縮小狀態(tài)大于0%(但小于33%)。


Sorting為減速器節(jié)省時間,幫助它輕松區(qū)分何時應(yīng)開始新的減速任務(wù)。簡單地說,當(dāng)排序后的輸入數(shù)據(jù)中的下一個鍵與上一個鍵不同時,它只是啟動一個新的reduce任務(wù)。每個reduce任務(wù)都會獲取一個鍵值對列表,但是它必須調(diào)用reduce()方法,該方法接受一個key-list(value)輸入,因此必須按鍵對值進行分組。如果在映射階段對輸入數(shù)據(jù)進行了預(yù)排序(本地),而在歸約階段簡單地進行了歸并排序(因為歸約器從許多映射器獲取數(shù)據(jù)),則這樣做很容易。


Partitioning您在其中一個答案中提到的,是一個不同的過程。它確定映射相位的輸出(鍵,值)對將發(fā)送到哪個減速器。默認(rèn)的分區(qū)程序在鍵上使用哈希將其分配給reduce任務(wù),但是您可以覆蓋它并使用自己的自定義分區(qū)程序。


這些步驟的重要信息來源是此Yahoo教程。


下面是一個很好的圖形表示形式(在此圖中,混洗稱為“復(fù)制”):


請注意,如果您指定零個減速器(setNumReduceTasks(0))shuffling,sorting則根本不會執(zhí)行和。然后,MapReduce作業(yè)在地圖階段停止,并且地圖階段不包括任何種類的排序(因此,即使地圖階段也更快)。


更新:由于您正在尋找更正式的東西,因此您也可以閱讀Tom White的書“ Hadoop:權(quán)威指南”。這是您問題的有趣部分。

Tom White自2007年2月以來一直是Apache Hadoop的提交者,并且是Apache Software Foundation的成員,因此我認(rèn)為它是相當(dāng)可信且正式的...


查看完整回答
反對 回復(fù) 2019-11-22
?
慕勒3428872

TA貢獻1848條經(jīng)驗 獲得超6個贊

讓我們回顧一下Mapreduce程序的關(guān)鍵階段。


該地圖相由映射器來完成。映射器在未排序的輸入鍵/值對上運行。每個映射器為每個輸入鍵/值對發(fā)出零個,一個或多個輸出鍵/值對。


該組合相由合成器來完成。該組合應(yīng)結(jié)合鍵/值對具有相同的密鑰。每個組合器可以運行零次,一次或多次。


在洗牌和排序階段是由框架來完成。來自所有映射器的數(shù)據(jù)按鍵分組,在化簡器中拆分,然后按鍵排序。每個化簡器獲得與同一鍵關(guān)聯(lián)的所有值。程序員可以提供用于排序的自定義比較功能,以及用于數(shù)據(jù)拆分的分區(qū)程序。


該分區(qū)決定哪些減速會得到一個特定的鍵值對。


該減速器取得排序鍵/ [值列表]對,排序由所述密鑰。值列表包含由映射器生成的具有相同鍵的所有值。每個縮減器為每個輸入鍵/值對發(fā)出零,一個或多個輸出鍵/值對。


看看這個javacodegeeks 文章由瑪麗亞Jurcovicova和mssqltips由達塔為了更好的理解文章


查看完整回答
反對 回復(fù) 2019-11-22
?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

我想到的只是添加以上答案中缺少的幾點。從這里獲取的這張圖清楚地說明了實際情況。


如果我再說一遍的真正目的


拆分:通過在不同節(jié)點(映射程序)之間分配處理負載來改善并行處理,這將節(jié)省總體處理時間。


合并:縮小每個Mapper的輸出。這樣可以節(jié)省將數(shù)據(jù)從一個節(jié)點移動到另一個節(jié)點的時間。


排序(隨機排序):使運行時可以輕松地計劃(生成/啟動)新的reducer,在瀏覽排序項目列表時,只要當(dāng)前鍵與先前的鍵不同,就可以生成一個新的reducer 。


查看完整回答
反對 回復(fù) 2019-11-22
  • 3 回答
  • 0 關(guān)注
  • 683 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號