云計算環(huán)境下架構Hadoop集群的數據分配方式
引言
云計算(Cloud Computing)是一種新興的商業(yè)計算模型。它將計算任務分布在大量計算機構成的資源池上,使各種應用系統(tǒng)能夠根據需要獲取計算力、存儲空間和各種軟件服務。云計算是網格計算(Grid Computing)、分布式計算(Distributed Computing)、并行計算(ParallelComputing)、效用計算(Utility Computing)、網絡存儲(Network Storage Technologies)、虛擬化(Virtualization),負載均衡(Load Balance)等傳統(tǒng)計算機技術和網絡技術發(fā)展融合的產物。
它的數據存儲是采用分布式存儲方式實現(xiàn)的,這就可以保證高可靠性、高可用性和經濟性,數據存儲的高可靠性是采用冗余存儲的方式來保證的,用可靠的軟件來彌補硬件的不足,從而提供廉價可靠的海量分布式存儲服務和計算服務。另外,數據存儲技術必須具有高吞吐率和高傳輸率的特點。這樣云計算系統(tǒng)就可同時滿足大量用戶的需求,才能為大量用戶并行地提供服務。云計算的數據存儲系統(tǒng)最著名的是谷歌研發(fā)的非開源系統(tǒng)GFS(Google File System)和Hadoop開發(fā)團隊開發(fā)的開源系統(tǒng)HDFS(Hadoop Distributed FileSystem)。
1. MapReduce編程模型
并行計算技術是云計算的核心技術,也是最具戰(zhàn)性的技術之一。MapReduce是Google公司的核心計算模型,名字源于函數式編程模型中的兩項核心操作:Map和Reduce操作。Map操作獨立地對每個元素進行操作,且操作沒有副作用;Reduce操作對N個Map結果進行歸約,也就是Map[1,2.。.,N]的結果是Reduce操作的參數。在一個指令式語言中求值順序是確定的,每個函數都有可能會變更或依賴于外部狀態(tài),所以必須有序地執(zhí)行這些函數。在MapReduce編程模型中,只要沒有函數修改或依賴千全局變量,N個Map操作的執(zhí)行順序可以是無序的,這種特性使得MapReduce模型適合于對大規(guī)模數據進行并行處理。
在MapReduce計算模型中,有兩個關鍵過程:映射過程Map和聚集過程Reduce。因此需要用戶提供兩個關鍵函數,映射(Map)函數和聚集(Reduce)函數,這兩個函數對一組輸人的鍵值對(key/value)進行計算,得出另一組輸出鍵值對,即有:
Map:(in_key, in_value)-{(keyj, valuej)j=l.。.k}
Reduce :(key,[valuel,。..,valuem])一(key, fina_value)
在不同的應用中,Map和Reduce的輸人參數和輸出結果是不相同的。Map的輸入參數in_key和in_value,給S了Map函數要處理的是哪些數據。每個Map函數計算完與后輸出結果一組鍵/值對,它們是經過Mad任務執(zhí)行完成后所返回的中間結果。系統(tǒng)在執(zhí)行Reduce任務之前,先檢查前面Map任務返回的中間結果,根據Key進行分類處理,把相同key值所對應的value合并在一起把它們送給同一個Reduce任務進行處理,從而可以看出Reduce的輸入參數是(key,[ valuel,…,valuem])。Reduc任務主要對這些有著相同key值所對應的value值進行歸字處理,在Reduce任務執(zhí)行完成后輸出(key, finaLvalue)的f果。一個key值對應了一個Reduce任務,把所有Reduce千務執(zhí)行的結果合并連接在一起就形成了最終的輸出結果。
(4)MapReduce庫把所有具有相同中間key值I的中間value值集合在一起后傳遞給reduce函數;
(5)用戶自定義的Reduce函數接受一個中間key的值I和相關的一個value值的集合。Reduce函數將這些value值合并成一個較小的value值的集合。正常的,每次Reduce函數調用只產生0或I個輸出value值。可以通過一個迭代器把中間value值提供給Reduce函數,這樣就可以處理無法全部放入內存中的大量的value值的集合。(責任編輯:admin)
- “掃一掃”關注融合網微信號
免責聲明:我方僅為合法的第三方企業(yè)注冊用戶所發(fā)布的內容提供存儲空間,融合網不對其發(fā)布的內容提供任何形式的保證:不保證內容滿足您的要求,不保證融合網的服務不會中斷。因網絡狀況、通訊線路、第三方網站或管理部門的要求等任何原因而導致您不能正常使用融合網,融合網不承擔任何法律責任。
第三方企業(yè)注冊用戶在融合網發(fā)布的內容(包含但不限于融合網目前各產品功能里的內容)僅表明其第三方企業(yè)注冊用戶的立場和觀點,并不代表融合網的立場或觀點。相關各方及作者發(fā)布此信息的目的在于傳播、分享更多信息,并不代表本網站的觀點和立場,更與本站立場無關。相關各方及作者在我方平臺上發(fā)表、發(fā)布的所有資料、言論等僅代表其作者個人觀點,與本網站立場無關,不對您構成任何投資、交易等方面的建議。用戶應基于自己的獨立判斷,自行決定并承擔相應風險。
根據相關協(xié)議內容,第三方企業(yè)注冊用戶已知悉自身作為內容的發(fā)布者,需自行對所發(fā)表內容(如,字體、圖片、文章內容等)負責,因所發(fā)表內容(如,字體、圖片、文章內容等)等所引發(fā)的一切糾紛均由該內容的發(fā)布者(即,第三方企業(yè)注冊用戶)承擔全部法律及連帶責任。融合網不承擔任何法律及連帶責任。
第三方企業(yè)注冊用戶在融合網相關欄目上所發(fā)布的涉嫌侵犯他人知識產權或其他合法權益的內容(如,字體、圖片、文章內容等),經相關版權方、權利方等提供初步證據,融合網有權先行予以刪除,并保留移交司法機關查處的權利。參照相應司法機關的查處結果,融合網對于第三方企業(yè)用戶所發(fā)布內容的處置具有最終決定權。
個人或單位如認為第三方企業(yè)注冊用戶在融合網上發(fā)布的內容(如,字體、圖片、文章內容等)存在侵犯自身合法權益的,應準備好具有法律效應的證明材料,及時與融合網取得聯(lián)系,以便融合網及時協(xié)調第三方企業(yè)注冊用戶并迅速做出相應處理工作。
融合網聯(lián)系方式:(一)、電話:(010)57722280;(二)、電子郵箱:2029555353@qq.com dwrh@dwrh.net
對免責聲明的解釋、修改及更新權均屬于融合網所有。