教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

ReduceTask的工作機(jī)制【傳智大數(shù)據(jù)文章】

更新時(shí)間:2021年01月26日17時(shí)16分 來(lái)源:傳智教育 瀏覽次數(shù):

Reduce大致分為copy、sort、reduce三個(gè)階段,重點(diǎn)在前兩個(gè)階段。

copy階段包含一個(gè)eventFetcher來(lái)獲取已完成的map列表,由Fetcher線(xiàn)程去copy數(shù)據(jù),在此過(guò)程中會(huì)啟動(dòng)兩個(gè)merge線(xiàn)程,分別為 inMemoryMerger和onDiskMerger,分別將內(nèi)存中的數(shù)據(jù)merge到磁盤(pán)和將磁盤(pán)中的數(shù)據(jù)進(jìn)行merge。待數(shù)據(jù)copy完成之后,copy階段就完成了,開(kāi)始進(jìn)行sort階段。

sort階段主要是執(zhí)行finalMerge操作,純粹的 sort階段,完成之后就是reduce階段,調(diào)用用戶(hù)定義的reduce函數(shù)進(jìn)行處理。

ReduceTask的工作機(jī)制

具體步驟如下:

  • Copy階段,簡(jiǎn)單地拉取數(shù)據(jù)。Reduce進(jìn)程啟動(dòng)一些數(shù)據(jù)copy線(xiàn)程(Fetcher),通過(guò)HTTP方式請(qǐng)求maptask 獲取屬于自己的文件。、

  • Merge階段。這里的merge如map端的merge動(dòng)作,只是數(shù)組中存放的是不同map端copy來(lái)的數(shù)值。Copy過(guò)來(lái)的數(shù)據(jù)會(huì)先放入內(nèi)存緩沖區(qū)中,這里的緩沖區(qū)大小要比map端的更為靈活。merge有三種形式:內(nèi)存到內(nèi)存;內(nèi)存到磁盤(pán);磁盤(pán)到磁盤(pán)。默認(rèn)情況下第一種形式不啟用。當(dāng)內(nèi)存中的數(shù)據(jù)量到達(dá)一定閾值,就啟動(dòng)內(nèi)存到磁盤(pán)的merge。與map 端類(lèi)似,這也是溢寫(xiě)的過(guò)程,這個(gè)過(guò)程中如果你設(shè)置有Combiner,也是會(huì)啟用的,然后在磁盤(pán)中生成了眾多的溢寫(xiě)文件。第二種merge方式一直在運(yùn)行,直到?jīng)]有map端的數(shù)據(jù)時(shí)才結(jié)束,然后啟動(dòng)第三種磁盤(pán)到磁盤(pán)的merge方式生成最終的文件。

  • 把分散的數(shù)據(jù)合并成一個(gè)大的數(shù)據(jù)后,還會(huì)再對(duì)合并后的數(shù)據(jù)排序。

  • 對(duì)排序后的鍵值對(duì)調(diào)用reduce方法,鍵相等的鍵值對(duì)調(diào)用一次reduce方法,每次調(diào)用會(huì)產(chǎn)生零個(gè)或者多個(gè)鍵值對(duì), 后把這些輸出的鍵值對(duì)寫(xiě)入到HDFS文件中。


    猜你喜歡:

    MapReduce編程的兩種數(shù)據(jù)流模型演示?

    簡(jiǎn)單舉例,MapReduce是如何進(jìn)行計(jì)算的

    如何操作MapReduce的性能調(diào)優(yōu)?

    傳智教育大數(shù)據(jù)工程師培訓(xùn)課程

0 分享到:
和我們?cè)诰€(xiàn)交談!