版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上大數(shù)據(jù)技術(shù)第七章課后題答案黎貍1. 試述MapReduce和Hadoop的關(guān)系。谷歌公司最先提出了分布式并行編程模型MapReduce, Hadoop MapReduce是它的開源實現(xiàn)。谷歌的MapReduce運行在分布式文件系統(tǒng)GFS上,與谷歌類似,HadoopMapReduce運行在分布式文件系統(tǒng)HDFS上。相對而言,HadoopMapReduce 要比谷歌MapReduce 的使用門檻低很多,程序員即使沒有任何分布式程序開發(fā)經(jīng)驗,也可以很輕松地開發(fā)出分布式程序并部署到計算機集群中。2. MapReduce 是處理大數(shù)據(jù)的有力工具,但不是每個任
2、務(wù)都可以使用MapReduce來進行處理。試述適合用MapReduce來處理的任務(wù)或者數(shù)據(jù)集需滿足怎樣的要求。適合用MapReduce來處理的數(shù)據(jù)集,需要滿足一個前提條件: 待處理的數(shù)據(jù)集可以分解成許多小的數(shù)據(jù)集,而且每一個小數(shù)據(jù)集都可以完全并行地進行處理。3. MapReduce 模型采用Master(JobTracker)-Slave(TaskTracker)結(jié)構(gòu), 試描述JobTracker 和TaskTracker的功能。 MapReduce 框架采用了Master/Slave 架構(gòu),包括一個Master 和若干個Slave。Master
3、0;上運行JobTracker,Slave 上運行TaskTrackero 用戶提交的每個計算作業(yè),會被劃分成若千個任務(wù)。JobTracker 負責(zé)作業(yè)和任務(wù)的調(diào)度,監(jiān)控它們的執(zhí)行,并重新調(diào)度已經(jīng)失敗的任務(wù)。TaskTracker負責(zé)執(zhí)行由JobTracker指派的任務(wù)。4. TaskTracker 出現(xiàn)故障會有什么影響?該故障是如何處理的?5. MapReduce計算模型的核心是Map函數(shù)和Reduce函數(shù),試述這兩個函數(shù)各自的輸人、輸出以及處理過程。Map函數(shù)的輸人是來自于分布式文件系統(tǒng)的文件塊,這些文件塊的格式是任意的,可以是文檔,也可以是二進制格式。文件塊
4、是一系列元素的集合,這些元素是任意類型的,同一個元素不能跨文件塊存儲。Map函數(shù)將輸人的元素轉(zhuǎn)換成<key,value形式的鍵值對,鍵和值的類型也是任意的,其中,鍵不同于一般的標(biāo)志屬性,即鍵沒有唯一性,不能作為輸出的身份標(biāo)識,即使是同一輸人元素,也可通過一個Map任務(wù)生成具有相同鍵的多個<key,value>。Reduce函數(shù)的任務(wù)就是將輸人的一-系列具有相同鍵的鍵值對以某種方式組合起來,輸出處理后的鍵值對,輸出結(jié)果會合并成一個文件。用戶可以指定Reduce任務(wù)的個數(shù)(如n個),并通知實現(xiàn)系統(tǒng),然后主控進程通常會選擇一個Hash函數(shù),Map任務(wù)輸出的每個鍵都會經(jīng)過Hash函數(shù)
5、計算,并根據(jù)哈希結(jié)果將該鍵值對輸人相應(yīng)的Reduce任務(wù)來處理。對于處理鍵為k的Reduce任務(wù)的輸人形式為<K,<v1,v2,vn>>.,輸出為<k,V>。6. 試述MapReduce的工作流程(需包括提交任務(wù)、Map、Shuffle、 Reduce的過程)。MapReduce框架使用InputFormat模塊做Map前的預(yù)處理,比如,驗證輸入的格式是否符合輸人定義;然后,將輸入文件切分為邏輯上的多個InputSplit, InputSplit 是MapReduce對文件進行處理和運算的輸人單位,只是一個邏輯概念, 每個InputSplit并沒有對文件進行
6、實際切割,只是記錄了要處理的數(shù)據(jù)的位置和長度。因為InputSplit 是邏輯切分而非物理切分,所以,還需要通過RecordReader (RR)根據(jù)InputSplit中的信息來處理InputSplit中的具體記錄,加載數(shù)據(jù)并轉(zhuǎn)換為適合Map任務(wù)讀取的鍵值對,輸入給Map任務(wù)。Map任務(wù)會根據(jù)用戶自定義的映射規(guī)則,輸出一系列的<key,value>作為中間結(jié)果。為了讓Reduce可以并行處理Map的結(jié)果,需要對Map的輸出進行-一定的分區(qū)、排序(Sort)、合并( Combine)、歸并( Merge)等操作,得到<keyvalue-list>形式的中間結(jié)果, 再交給
7、對應(yīng)的Reduce進行處理,這個過程稱為Shuffle。Reduce 以一系列<key,value-list>中間結(jié)果作為輸入, 執(zhí)行用戶定義的邏輯,輸出結(jié)果給OutputFormat模塊。OutputFormat 模塊會驗證輸出目錄是否已經(jīng)存在以及輸出結(jié)果類型是否符合配置文件中的配置類型,如果都滿足,就輸出Reduce的結(jié)果到分布式文件系統(tǒng)。7. Shuffle 過程是MapReduce 工作流程的核心,也被稱為奇跡發(fā)生的地方,試分析Shuffle過程的作用。Shufle,是指對Map輸出結(jié)果進行分區(qū)、排序、合并等處理并交給Reduce的過程。Shuffle 過程分為Map端的操
8、作和Reduce端的操作。 在Map端的Shuffle過程。Map的輸出結(jié)果首先被寫入緩存,當(dāng)緩存滿時,就啟動溢寫操作,把緩存中的數(shù)據(jù)寫入磁盤文件,并清空緩存。當(dāng)啟動溢寫操作時,首先需要把緩存中的數(shù)據(jù)進行分區(qū),然后對每個分區(qū)的數(shù)據(jù)進行排序( Sort)和合并( Combine),之后再寫入磁盤文件。每次溢寫操作會生成-一個新的磁盤文件,隨著Map任務(wù)的執(zhí)行,磁盤中就會生成多個溢寫文件。在Map任務(wù)全部結(jié)束之前,這些溢寫文件會被歸并( Merge)成-一個大的磁盤文件,然后,通知相應(yīng)的Reduce任務(wù)來領(lǐng)取屬于自己處理的數(shù)據(jù)。 在Reduce端的Shuffle 過程。Reduce 任務(wù)從Map端
9、的不同Map機器領(lǐng)回屬于自己處理的那部分數(shù)據(jù),然后,對數(shù)據(jù)進行歸并( Merge )后交給Reduce處理。8. 分別描述Map端和Reduce端的Shuffle過程(需包括Spill Sort、 Merge、Fetch 的過程)。(1)Map端的Shuffle過程: 輸入數(shù)據(jù)和執(zhí)行Map任務(wù)。 寫入緩存 溢寫(分區(qū),排序和合并) 文件歸并(2)Reduce端的Shuffle過程: “領(lǐng)取”數(shù)據(jù) 歸并數(shù)據(jù) 把數(shù)據(jù)輸入Reduce任務(wù)9. MapReduce 中有這樣-一個原則:移動計算比移動數(shù)據(jù)更經(jīng)濟。試述什么是本地計算,并分析為何要采用本地計算。 MapReduce設(shè)計的一個理念就
10、是“計算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計算靠攏”,因為移動數(shù)據(jù)需要大量的網(wǎng)絡(luò)傳輸開銷,尤其是在大規(guī)模數(shù)據(jù)環(huán)境下,這種開銷尤為驚人,所以,移動計算要比移動數(shù)據(jù)更加經(jīng)濟。本地計算:在一個集群中,只要有可能,MapReduce框架就會將Map程序就近地在HDFS數(shù)據(jù)所在的節(jié)點運行,即將計算節(jié)點和存儲節(jié)點放在一起運行,從而減少了節(jié)點間的數(shù)據(jù)移動開銷。10. 試說明一個MapReduce程序在運行期間,所啟動的Map任務(wù)數(shù)量和Reduce任務(wù)數(shù)量各是由什么因素決定的。MapReduce的核心思想可以用“分而治之”來描述,一個大的MapReduce作業(yè),首先會被拆分成許多個Map任務(wù)在多臺機器上并行執(zhí)行,即
11、Map任務(wù)的數(shù)量取決于mapReduce作業(yè)的大小。當(dāng)Map任務(wù)結(jié)束后,會生成以<key,value>形式表示的許多中間結(jié)果。然后,這些中間結(jié)果會被分發(fā)到多個Reduce任務(wù)在多臺機器上并行執(zhí)行,具有相同key的<key,value>會被發(fā)送到同一個Reduce任務(wù)那里,Reduce任務(wù)會對中間結(jié)果進行匯總計算得到最后結(jié)果,并輸出到分布式文件系統(tǒng)中。即reduce的任務(wù)數(shù)量取決于Map輸出結(jié)果中key的數(shù)量。11. 是否所有的MapReduce程序都需要經(jīng)過Map和Reduce這兩個過程?如果不是,請舉例說明。不是。對于關(guān)系的選擇運算,只需要Map過程就能實現(xiàn),對于關(guān)系
12、R 中的每個元組t,檢測是否是滿足條件的所需元組,如果滿足條件,則輸出鍵值對<,>,也就是說,鍵和值都是t。這時的Reduce函數(shù)就只是一個恒等式,對輸入不做任何變換就直接輸出。12. 試分析為何采用Combiner可以減少數(shù)據(jù)傳輸量?是否所有的MapReduce程序都可以采用Combiner?為什么? 對于每個分區(qū)內(nèi)的所有鍵值對,后臺線程會根據(jù)key 對它們進行內(nèi)存排序(Sort ),排序是MapReduce 的默認操作。排序結(jié)束后,還包含一個可選的合并(Combine )操作。如果用戶事先沒有定義Combiner 函數(shù)
13、,就不用進行合并操作。如果用戶事先定義了Combiner 函數(shù),則這個時候會執(zhí)行合并操作,從而減少需要溢寫到磁盤的數(shù)據(jù)量。 所謂“合并”,是指將那些具有相同key 的<key,value>的value 加起來,比如,有兩個鍵值對<*xmu",1>和<*xmu",1>,經(jīng)過合并操作以后就可以得到一個鍵值對<*xmu",2>,減少了鍵值對的數(shù)量。不過,并非所有場合都可以使用Combiner,因為,Combiner的輸出是Reduce任務(wù)的輸人,Combiner絕不能改變
14、Reduce任務(wù)最終的計算結(jié)果,一般而言,累加、最大值等場景可以使用合并操作。13. MapReduce 程序的輸入文件、輸出文件都存儲在HDFS中,而在Map任務(wù)完成時的中間結(jié)果則存儲在本地磁盤中。試分析中間結(jié)果存儲在本地磁盤而不是HDFS上有何優(yōu)缺點。因為Map的輸出是中間的結(jié)果,這個中間結(jié)果是由reduce處理后才產(chǎn)生最終輸出結(jié)果,而且一旦作業(yè)完成,map的輸出結(jié)果就可以刪除。如果把它存儲在hdfs中就并備份,有些小題大作,如果運行map任務(wù)的節(jié)點將map中間結(jié)果傳送給reduce任務(wù)之前失敗,hadoop將在另一個節(jié)點上重新運行這個map任務(wù)以在此構(gòu)建中間結(jié)果。14. 早期版本的HDF
15、S,其默認塊( Block)大小為64MB,而較新的版本默認為128MB,采用較大的塊具有什么影響和優(yōu)缺點?優(yōu)點:塊尋址時間變短15. 試畫出使用MapReduce來對英語句子“Whatever is worth doing is worth doing well"進行單詞統(tǒng)計的過程。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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年烏蘭察布職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及答案詳解1套
- 2026年陜西郵電職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解一套
- 2026年邯鄲應(yīng)用技術(shù)職業(yè)學(xué)院單招職業(yè)傾向性考試題庫及參考答案詳解一套
- 2026年營口職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及答案詳解1套
- 2026年自貢職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫附答案詳解
- 促銷培訓(xùn)課件
- 2026年河南測繪職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及答案詳解一套
- 2026年重慶能源職業(yè)學(xué)院單招職業(yè)技能測試題庫及完整答案詳解1套
- 2026年菏澤學(xué)院單招職業(yè)傾向性考試題庫附答案詳解
- 2026年遼源職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫及完整答案詳解1套
- 汽車吊吊裝施工方案方案
- GB/T 4340.1-2024金屬材料維氏硬度試驗第1部分:試驗方法
- 速食食品行業(yè)相關(guān)投資計劃提議
- 安全操作規(guī)程管理制度(完整版合同模板)
- 賈玲春晚搞笑公司年會小品《真假老師》臺詞劇本完整版
- 涉詐風(fēng)險賬戶審查表
- 測繪資質(zhì)分級標(biāo)準規(guī)定(2014版)
- 家譜序言經(jīng)典范文(12篇)
- 學(xué)習(xí)弘揚楓橋精神與楓橋經(jīng)驗PPT楓橋經(jīng)驗蘊含的精神和內(nèi)涵PPT課件(帶內(nèi)容)
- GA/T 1556-2019道路交通執(zhí)法人體血液采集技術(shù)規(guī)范
- 以此為主GS-操作手冊(中文簡體) 含精度檢驗表200807
評論
0/150
提交評論