日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
mapreduce中怎么實(shí)現(xiàn)二次排序

mapreduce主要由哪四個階段組成?

mapreduce主要由以下四個階段組成:

創(chuàng)新互聯(lián)建站憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、做網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都1000多家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。

1、split階段:

此階段,每個輸入文件被分片輸入到map。如一個文件有200M,默認(rèn)會被分成2片,因?yàn)槊科哪J(rèn)最大值和每塊的默認(rèn)值128M相同。

如果輸入為大量的小文件,則會造成過多的map數(shù),導(dǎo)致效率下降,可采用壓縮輸入格式CombineFileInputFormat。

2、map階段:

此階段,執(zhí)行map任務(wù)。map數(shù)由分片決定,若要增加map數(shù),可增大mapred.map.tasks,若減少map數(shù),可增大mapred.min.split.size。

3、shuffle階段:

此階段,將map的輸出經(jīng)過“整理”后給到reduce,也稱為“混洗”。分為map端操作和reduce端操作。

在map端,map的輸出先寫入緩存,當(dāng)每次緩存快滿時(shí),由緩存“溢寫”至磁盤,每次溢寫都先進(jìn)行“分區(qū)”,并對每個分區(qū)的數(shù)據(jù)進(jìn)行“排序”和“合并”(可選)。一般會產(chǎn)生多個溢寫的文件,這些文件會在map端先被“歸并”為一個大的磁盤文件,通知reduce任務(wù)來領(lǐng)取自己的分區(qū)。

在reduce端,每個reduce任務(wù)會從多個map任務(wù)領(lǐng)取文件,然后將這些文件進(jìn)行“歸并”,交給reduce任務(wù)。

hadoop的發(fā)展及原理?

Hadoop的發(fā)展歷史

2004年— 最初的版本(現(xiàn)在稱為HDFS和MapReduce)由Doug Cutting和Mike Cafarella開始實(shí)施。

2005年12月— Nutch移植到新的框架,Hadoop在20個節(jié)點(diǎn)上穩(wěn)定運(yùn)行。

2006年1月— Doug Cutting加入雅虎。

2006年2月— Apache Hadoop項(xiàng)目正式啟動以支持MapReduce和HDFS的獨(dú)立發(fā)展。

2006年2月— 雅虎的網(wǎng)格計(jì)算團(tuán)隊(duì)采用Hadoop。

2006年4月— 標(biāo)準(zhǔn)排序(10 GB每個節(jié)點(diǎn))在188個節(jié)點(diǎn)上運(yùn)行47.9個小時(shí)。

…………

Hadoop的工作原理是:

Hadoop 由許多元素構(gòu)成。其最底部是 Hadoop Distributed File System(HDFS),它存儲 Hadoop 集群中所有存儲節(jié)點(diǎn)上的文件。HDFS(對于本文)的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成。………

hadoopreduce主要特點(diǎn)?

1.計(jì)數(shù)器

在MR作業(yè)中內(nèi)置計(jì)數(shù)器,統(tǒng)計(jì)任務(wù)狀態(tài),用戶可以自定義計(jì)數(shù)器以實(shí)現(xiàn)統(tǒng)計(jì)目的,這塊比較簡單,不是什么原理性的東西,直接略過

2.排序

排序是MR中比較核心的問題,MR中數(shù)據(jù)是通過排序來進(jìn)行組織的。排序的效率直接影響著整個作業(yè)的運(yùn)行效率

i)部分排序

在Map任務(wù)執(zhí)行完畢之后,寫入到磁盤文件之前,對輸出數(shù)據(jù)進(jìn)行預(yù)排序。這樣的排序是按照鍵進(jìn)行字典排序而成,將鍵相同的數(shù)據(jù)組織到一起。

預(yù)排序完成之后,將數(shù)據(jù)寫入本地磁盤,而后通過Partitioner將數(shù)據(jù)映射傳遞到對應(yīng)reducer,默認(rèn)是一個HashPartitioner進(jìn)行分區(qū)。對鍵進(jìn)行hash處理,將值對reducer數(shù)目取模,從而確定reducer。

數(shù)據(jù)傳遞到reducer之后,reducer對每個分區(qū)內(nèi)數(shù)據(jù)進(jìn)行合并排序,依然是按鍵字典排序,當(dāng)然也可以通過繼承RowCompartor類并且顯示設(shè)置comparatorClass指定排序方式,這樣一來每個reducer輸入分區(qū)的數(shù)據(jù)都是有序的,但是就整體所有數(shù)據(jù)而言,并不是有序的,所以稱之為部分排序。

2.完全排序

要想實(shí)現(xiàn)所有數(shù)據(jù)均可以實(shí)現(xiàn)有序,那么需要對Partitioner進(jìn)行設(shè)置為TotalOrderPartitioner,對所有數(shù)據(jù)進(jìn)行分組,比如說將數(shù)據(jù)分為{a,b,c,d,e,f}六個分組,那么a組所有鍵必須小于b組,而b組所有鍵必須小于c組,以此類推,這就意味著是按照鍵的范圍對數(shù)據(jù)進(jìn)行分組。

到此,以上就是小編對于mapreduce 二次排序的問題就介紹到這了,希望這3點(diǎn)解答對大家有用。


本文題目:mapreduce中怎么實(shí)現(xiàn)二次排序
當(dāng)前路徑:http://www.dlmjj.cn/article/cohopij.html