




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上大數(shù)據(jù)技術(shù)第七章課后題答案黎貍1. 試述MapReduce和Hadoop的關(guān)系。谷歌公司最先提出了分布式并行編程模型MapReduce, Hadoop MapReduce是它的開(kāi)源實(shí)現(xiàn)。谷歌的MapReduce運(yùn)行在分布式文件系統(tǒng)GFS上,與谷歌類似,HadoopMapReduce運(yùn)行在分布式文件系統(tǒng)HDFS上。相對(duì)而言,HadoopMapReduce 要比谷歌MapReduce 的使用門檻低很多,程序員即使沒(méi)有任何分布式程序開(kāi)發(fā)經(jīng)驗(yàn),也可以很輕松地開(kāi)發(fā)出分布式程序并部署到計(jì)算機(jī)集群中。2. MapReduce 是處理大數(shù)據(jù)的有力工具,但不是每個(gè)任
2、務(wù)都可以使用MapReduce來(lái)進(jìn)行處理。試述適合用MapReduce來(lái)處理的任務(wù)或者數(shù)據(jù)集需滿足怎樣的要求。適合用MapReduce來(lái)處理的數(shù)據(jù)集,需要滿足一個(gè)前提條件: 待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個(gè)小數(shù)據(jù)集都可以完全并行地進(jìn)行處理。3. MapReduce 模型采用Master(JobTracker)-Slave(TaskTracker)結(jié)構(gòu), 試描述JobTracker 和TaskTracker的功能。 MapReduce 框架采用了Master/Slave 架構(gòu),包括一個(gè)Master 和若干個(gè)Slave。Master
3、0;上運(yùn)行JobTracker,Slave 上運(yùn)行TaskTrackero 用戶提交的每個(gè)計(jì)算作業(yè),會(huì)被劃分成若千個(gè)任務(wù)。JobTracker 負(fù)責(zé)作業(yè)和任務(wù)的調(diào)度,監(jiān)控它們的執(zhí)行,并重新調(diào)度已經(jīng)失敗的任務(wù)。TaskTracker負(fù)責(zé)執(zhí)行由JobTracker指派的任務(wù)。4. TaskTracker 出現(xiàn)故障會(huì)有什么影響?該故障是如何處理的?5. MapReduce計(jì)算模型的核心是Map函數(shù)和Reduce函數(shù),試述這兩個(gè)函數(shù)各自的輸人、輸出以及處理過(guò)程。Map函數(shù)的輸人是來(lái)自于分布式文件系統(tǒng)的文件塊,這些文件塊的格式是任意的,可以是文檔,也可以是二進(jìn)制格式。文件塊
4、是一系列元素的集合,這些元素是任意類型的,同一個(gè)元素不能跨文件塊存儲(chǔ)。Map函數(shù)將輸人的元素轉(zhuǎn)換成<key,value形式的鍵值對(duì),鍵和值的類型也是任意的,其中,鍵不同于一般的標(biāo)志屬性,即鍵沒(méi)有唯一性,不能作為輸出的身份標(biāo)識(shí),即使是同一輸人元素,也可通過(guò)一個(gè)Map任務(wù)生成具有相同鍵的多個(gè)<key,value>。Reduce函數(shù)的任務(wù)就是將輸人的一-系列具有相同鍵的鍵值對(duì)以某種方式組合起來(lái),輸出處理后的鍵值對(duì),輸出結(jié)果會(huì)合并成一個(gè)文件。用戶可以指定Reduce任務(wù)的個(gè)數(shù)(如n個(gè)),并通知實(shí)現(xiàn)系統(tǒng),然后主控進(jìn)程通常會(huì)選擇一個(gè)Hash函數(shù),Map任務(wù)輸出的每個(gè)鍵都會(huì)經(jīng)過(guò)Hash函數(shù)
5、計(jì)算,并根據(jù)哈希結(jié)果將該鍵值對(duì)輸人相應(yīng)的Reduce任務(wù)來(lái)處理。對(duì)于處理鍵為k的Reduce任務(wù)的輸人形式為<K,<v1,v2,vn>>.,輸出為<k,V>。6. 試述MapReduce的工作流程(需包括提交任務(wù)、Map、Shuffle、 Reduce的過(guò)程)。MapReduce框架使用InputFormat模塊做Map前的預(yù)處理,比如,驗(yàn)證輸入的格式是否符合輸人定義;然后,將輸入文件切分為邏輯上的多個(gè)InputSplit, InputSplit 是MapReduce對(duì)文件進(jìn)行處理和運(yùn)算的輸人單位,只是一個(gè)邏輯概念, 每個(gè)InputSplit并沒(méi)有對(duì)文件進(jìn)行
6、實(shí)際切割,只是記錄了要處理的數(shù)據(jù)的位置和長(zhǎng)度。因?yàn)镮nputSplit 是邏輯切分而非物理切分,所以,還需要通過(guò)RecordReader (RR)根據(jù)InputSplit中的信息來(lái)處理InputSplit中的具體記錄,加載數(shù)據(jù)并轉(zhuǎn)換為適合Map任務(wù)讀取的鍵值對(duì),輸入給Map任務(wù)。Map任務(wù)會(huì)根據(jù)用戶自定義的映射規(guī)則,輸出一系列的<key,value>作為中間結(jié)果。為了讓Reduce可以并行處理Map的結(jié)果,需要對(duì)Map的輸出進(jìn)行-一定的分區(qū)、排序(Sort)、合并( Combine)、歸并( Merge)等操作,得到<keyvalue-list>形式的中間結(jié)果, 再交給
7、對(duì)應(yīng)的Reduce進(jìn)行處理,這個(gè)過(guò)程稱為Shuffle。Reduce 以一系列<key,value-list>中間結(jié)果作為輸入, 執(zhí)行用戶定義的邏輯,輸出結(jié)果給OutputFormat模塊。OutputFormat 模塊會(huì)驗(yàn)證輸出目錄是否已經(jīng)存在以及輸出結(jié)果類型是否符合配置文件中的配置類型,如果都滿足,就輸出Reduce的結(jié)果到分布式文件系統(tǒng)。7. Shuffle 過(guò)程是MapReduce 工作流程的核心,也被稱為奇跡發(fā)生的地方,試分析Shuffle過(guò)程的作用。Shufle,是指對(duì)Map輸出結(jié)果進(jìn)行分區(qū)、排序、合并等處理并交給Reduce的過(guò)程。Shuffle 過(guò)程分為Map端的操
8、作和Reduce端的操作。 在Map端的Shuffle過(guò)程。Map的輸出結(jié)果首先被寫(xiě)入緩存,當(dāng)緩存滿時(shí),就啟動(dòng)溢寫(xiě)操作,把緩存中的數(shù)據(jù)寫(xiě)入磁盤文件,并清空緩存。當(dāng)啟動(dòng)溢寫(xiě)操作時(shí),首先需要把緩存中的數(shù)據(jù)進(jìn)行分區(qū),然后對(duì)每個(gè)分區(qū)的數(shù)據(jù)進(jìn)行排序( Sort)和合并( Combine),之后再寫(xiě)入磁盤文件。每次溢寫(xiě)操作會(huì)生成-一個(gè)新的磁盤文件,隨著Map任務(wù)的執(zhí)行,磁盤中就會(huì)生成多個(gè)溢寫(xiě)文件。在Map任務(wù)全部結(jié)束之前,這些溢寫(xiě)文件會(huì)被歸并( Merge)成-一個(gè)大的磁盤文件,然后,通知相應(yīng)的Reduce任務(wù)來(lái)領(lǐng)取屬于自己處理的數(shù)據(jù)。 在Reduce端的Shuffle 過(guò)程。Reduce 任務(wù)從Map端
9、的不同Map機(jī)器領(lǐng)回屬于自己處理的那部分?jǐn)?shù)據(jù),然后,對(duì)數(shù)據(jù)進(jìn)行歸并( Merge )后交給Reduce處理。8. 分別描述Map端和Reduce端的Shuffle過(guò)程(需包括Spill Sort、 Merge、Fetch 的過(guò)程)。(1)Map端的Shuffle過(guò)程: 輸入數(shù)據(jù)和執(zhí)行Map任務(wù)。 寫(xiě)入緩存 溢寫(xiě)(分區(qū),排序和合并) 文件歸并(2)Reduce端的Shuffle過(guò)程: “領(lǐng)取”數(shù)據(jù) 歸并數(shù)據(jù) 把數(shù)據(jù)輸入Reduce任務(wù)9. MapReduce 中有這樣-一個(gè)原則:移動(dòng)計(jì)算比移動(dòng)數(shù)據(jù)更經(jīng)濟(jì)。試述什么是本地計(jì)算,并分析為何要采用本地計(jì)算。 MapReduce設(shè)計(jì)的一個(gè)理念就
10、是“計(jì)算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計(jì)算靠攏”,因?yàn)橐苿?dòng)數(shù)據(jù)需要大量的網(wǎng)絡(luò)傳輸開(kāi)銷,尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開(kāi)銷尤為驚人,所以,移動(dòng)計(jì)算要比移動(dòng)數(shù)據(jù)更加經(jīng)濟(jì)。本地計(jì)算:在一個(gè)集群中,只要有可能,MapReduce框架就會(huì)將Map程序就近地在HDFS數(shù)據(jù)所在的節(jié)點(diǎn)運(yùn)行,即將計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)放在一起運(yùn)行,從而減少了節(jié)點(diǎn)間的數(shù)據(jù)移動(dòng)開(kāi)銷。10. 試說(shuō)明一個(gè)MapReduce程序在運(yùn)行期間,所啟動(dòng)的Map任務(wù)數(shù)量和Reduce任務(wù)數(shù)量各是由什么因素決定的。MapReduce的核心思想可以用“分而治之”來(lái)描述,一個(gè)大的MapReduce作業(yè),首先會(huì)被拆分成許多個(gè)Map任務(wù)在多臺(tái)機(jī)器上并行執(zhí)行,即
11、Map任務(wù)的數(shù)量取決于mapReduce作業(yè)的大小。當(dāng)Map任務(wù)結(jié)束后,會(huì)生成以<key,value>形式表示的許多中間結(jié)果。然后,這些中間結(jié)果會(huì)被分發(fā)到多個(gè)Reduce任務(wù)在多臺(tái)機(jī)器上并行執(zhí)行,具有相同key的<key,value>會(huì)被發(fā)送到同一個(gè)Reduce任務(wù)那里,Reduce任務(wù)會(huì)對(duì)中間結(jié)果進(jìn)行匯總計(jì)算得到最后結(jié)果,并輸出到分布式文件系統(tǒng)中。即reduce的任務(wù)數(shù)量取決于Map輸出結(jié)果中key的數(shù)量。11. 是否所有的MapReduce程序都需要經(jīng)過(guò)Map和Reduce這兩個(gè)過(guò)程?如果不是,請(qǐng)舉例說(shuō)明。不是。對(duì)于關(guān)系的選擇運(yùn)算,只需要Map過(guò)程就能實(shí)現(xiàn),對(duì)于關(guān)系
12、R 中的每個(gè)元組t,檢測(cè)是否是滿足條件的所需元組,如果滿足條件,則輸出鍵值對(duì)<,>,也就是說(shuō),鍵和值都是t。這時(shí)的Reduce函數(shù)就只是一個(gè)恒等式,對(duì)輸入不做任何變換就直接輸出。12. 試分析為何采用Combiner可以減少數(shù)據(jù)傳輸量?是否所有的MapReduce程序都可以采用Combiner?為什么? 對(duì)于每個(gè)分區(qū)內(nèi)的所有鍵值對(duì),后臺(tái)線程會(huì)根據(jù)key 對(duì)它們進(jìn)行內(nèi)存排序(Sort ),排序是MapReduce 的默認(rèn)操作。排序結(jié)束后,還包含一個(gè)可選的合并(Combine )操作。如果用戶事先沒(méi)有定義Combiner 函數(shù)
13、,就不用進(jìn)行合并操作。如果用戶事先定義了Combiner 函數(shù),則這個(gè)時(shí)候會(huì)執(zhí)行合并操作,從而減少需要溢寫(xiě)到磁盤的數(shù)據(jù)量。 所謂“合并”,是指將那些具有相同key 的<key,value>的value 加起來(lái),比如,有兩個(gè)鍵值對(duì)<*xmu",1>和<*xmu",1>,經(jīng)過(guò)合并操作以后就可以得到一個(gè)鍵值對(duì)<*xmu",2>,減少了鍵值對(duì)的數(shù)量。不過(guò),并非所有場(chǎng)合都可以使用Combiner,因?yàn)?,Combiner的輸出是Reduce任務(wù)的輸人,Combiner絕不能改變
14、Reduce任務(wù)最終的計(jì)算結(jié)果,一般而言,累加、最大值等場(chǎng)景可以使用合并操作。13. MapReduce 程序的輸入文件、輸出文件都存儲(chǔ)在HDFS中,而在Map任務(wù)完成時(shí)的中間結(jié)果則存儲(chǔ)在本地磁盤中。試分析中間結(jié)果存儲(chǔ)在本地磁盤而不是HDFS上有何優(yōu)缺點(diǎn)。因?yàn)镸ap的輸出是中間的結(jié)果,這個(gè)中間結(jié)果是由reduce處理后才產(chǎn)生最終輸出結(jié)果,而且一旦作業(yè)完成,map的輸出結(jié)果就可以刪除。如果把它存儲(chǔ)在hdfs中就并備份,有些小題大作,如果運(yùn)行map任務(wù)的節(jié)點(diǎn)將map中間結(jié)果傳送給reduce任務(wù)之前失敗,hadoop將在另一個(gè)節(jié)點(diǎn)上重新運(yùn)行這個(gè)map任務(wù)以在此構(gòu)建中間結(jié)果。14. 早期版本的HDF
15、S,其默認(rèn)塊( Block)大小為64MB,而較新的版本默認(rèn)為128MB,采用較大的塊具有什么影響和優(yōu)缺點(diǎn)?優(yōu)點(diǎn):塊尋址時(shí)間變短15. 試畫(huà)出使用MapReduce來(lái)對(duì)英語(yǔ)句子“Whatever is worth doing is worth doing well"進(jìn)行單詞統(tǒng)計(jì)的過(guò)程。Map輸出<Whatever,1><is,1><worth,1><doing,1><is,1><worth,1><doing,1><well,1>Map輸入“Whatever is worth doing is worth doing well"MapReduce任務(wù)的輸出Map端Shuffle后的結(jié)果發(fā)送給Reduce任務(wù)Map輸出的結(jié)果<Whatever,1><is,2><worth,2><doing,2><well,1><Whatever,1><is,<1,1>><worth,<1,1>><doing,<1,1>><well,1><Whatever,1><is,1><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025房屋出租合同范本中介版
- 2025關(guān)于短期勞動(dòng)合同的新政策
- 2025合作伙伴續(xù)簽合同申請(qǐng)書(shū)
- 離婚冷靜期離婚協(xié)議書(shū)范本
- 員工工資薪酬保密協(xié)議書(shū)范本
- 知識(shí)產(chǎn)權(quán)資源授權(quán)使用協(xié)議范本
- 二手商鋪購(gòu)買合同
- 2024年份4月份跨境微小衛(wèi)星協(xié)議發(fā)射失敗賠償計(jì)算模型
- 2025人力資源資料合同續(xù)約審批簽訂制度
- 車輛入股協(xié)議書(shū)范文
- GA 1800.5-2021電力系統(tǒng)治安反恐防范要求第5部分:太陽(yáng)能發(fā)電企業(yè)
- 中圖版八年級(jí)下冊(cè)地理《第三節(jié)-歐洲西部》(一等獎(jiǎng)?wù)n件)-
- 小學(xué)作廢Appendix多維閱讀第級(jí)MovingSeeds種子的旅行
- 導(dǎo)游基礎(chǔ)知識(shí)基督教課件
- 肝癌TACE治療及護(hù)理
- 《唯品會(huì)網(wǎng)絡(luò)營(yíng)銷策略研究(論文)10000字》
- 綜合防控兒童青少年近視PPT保護(hù)視力預(yù)防近視PPT課件(帶內(nèi)容)
- 新疆少數(shù)民族文化課件
- 作業(yè)現(xiàn)場(chǎng)安全監(jiān)督檢查卡(配電)
- 倉(cāng)庫(kù)發(fā)貨清單
- 旅行管家實(shí)務(wù)全套ppt課件最全電子教案完整版教學(xué)教程整套全書(shū)課件ppt
評(píng)論
0/150
提交評(píng)論