版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章Hadoop概述1.1Hadoop簡介1.1Hadoop簡介Hadoop是針對大數(shù)據(jù)處理研發(fā)的一個開源分布式計算框架,是一個有效解決分布式計算和存儲任務(wù)的平臺。Hadoop是搭建在廉價PC上的分布式集群系統(tǒng),具有高可用性、高容錯性、可擴展性等優(yōu)點。Hadoop因其開源、低成本的特點,備受企業(yè)追捧,目前已成為最常用的大數(shù)據(jù)處理平臺之一。1.1Hadoop簡介Hadoop的實現(xiàn)基于Google發(fā)布的3篇經(jīng)典論文“MapReduce”“GoogleFileSystem”和“BigTable”。Hadoop之父”道格·卡廷(DougCutting)基于Google的3篇論文使用Java語言實現(xiàn)了Hadoop,并將其開源。隨后,阿帕奇基金會整合道格·卡廷以及其他IT公司的貢獻,推出了Hadoop生態(tài)系統(tǒng)。1.1Hadoop簡介NutchGFS分布式存儲系統(tǒng)論文MapReduce分布式處理技術(shù)論文20042003Hadoop最早起源Nutch。2002年由道格·卡廷帶領(lǐng)的團隊在雅虎開發(fā)。2004年,道格·卡廷發(fā)現(xiàn)GFS可以解決在網(wǎng)絡(luò)爬取和索引過程中產(chǎn)生的超大文件存儲需求的問題,MapReduce框架可用于處理海量網(wǎng)頁的索引問題。同年,Nutch項目組對這兩個系統(tǒng)在原有理論基礎(chǔ)上完成了開源實現(xiàn),形成Hadoop。1.1Hadoop簡介后期開發(fā)Hadoop生態(tài)系統(tǒng)1.2Hadoop體系架構(gòu)1.2.1Hadoop基礎(chǔ)架構(gòu)Hadoop實現(xiàn)了對大數(shù)據(jù)進行分布式并行處理的系統(tǒng)框架,是一種并行處理數(shù)據(jù)的方法。Hadoop基礎(chǔ)架構(gòu)由實現(xiàn)數(shù)據(jù)分析的MapReduce計算框架和實現(xiàn)數(shù)據(jù)存儲的HDFS有機結(jié)合而成。1.2.1Hadoop基礎(chǔ)架構(gòu)1.2.1Hadoop基礎(chǔ)架構(gòu)MapReduce模型通過將數(shù)據(jù)分成多個部分,并在多個計算節(jié)點上并行執(zhí)行數(shù)據(jù)處理。該模型的核心思想是將計算分為兩個階段:Map階段和Reduce階段。在Map階段,數(shù)據(jù)被劃分成多個小塊,并在各個計算節(jié)點上進行映射處理,以生成鍵值對。在Reduce階段,相同鍵的值被匯總在一起,并在各個計算節(jié)點上進行歸約處理,以生成最終的輸出結(jié)果。1.2.1Hadoop基礎(chǔ)架構(gòu)HDFS是一個設(shè)計運行在普通硬件設(shè)備上的分布式文件系統(tǒng),具有高容錯性,能夠提供高吞吐量,適用于具有大數(shù)據(jù)集的應(yīng)用場合。當(dāng)需要存儲的數(shù)據(jù)文件大小超過一臺物理計算機所能承受的最大存儲容量時,就需要使用HDFS將一個大文件分解成為若干個小文件,并將它們分別存儲在不同的物理計算機上。1.2.2Hadoop生態(tài)系統(tǒng)Hadoop中并行應(yīng)用程序是基于MapReduce編程框架開發(fā)的,用戶不需要考慮任務(wù)具體是怎么分配的,只需要根據(jù)MapReduce提供的應(yīng)用程序接口(API)編寫特定的mapper與reducer函數(shù),然后把這些函數(shù)交給MapReduce就可以實現(xiàn)與機器交互并完成任務(wù)。顯然,僅依賴HDFS和MapReduce,所能夠?qū)崿F(xiàn)的功能是有限的。但隨著Hadoop的快速發(fā)展,很多組件也應(yīng)運而生。例如,Hive是基于Hadoop的數(shù)據(jù)倉庫工具,它可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為數(shù)據(jù)庫表,并提供完整的SQL查詢功能,也可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)運行,還可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計。1.2.2Hadoop生態(tài)系統(tǒng)1.2.2Hadoop生態(tài)系統(tǒng)(1)數(shù)據(jù)抽取、轉(zhuǎn)換、裝載(ExtractTransformationLoad,ETL)工具是構(gòu)建數(shù)據(jù)倉庫的重要環(huán)節(jié),由一系列數(shù)據(jù)倉庫采集工具構(gòu)成。(2)商業(yè)智能(BusinessIntelligence,BI)報表能提供綜合報告,還能提供數(shù)據(jù)分析和數(shù)據(jù)集成等功能。1.2.2Hadoop生態(tài)系統(tǒng)(3)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDatabaseManagementSystem,RDBMS)中的數(shù)據(jù)存儲在被稱為表(Table)的數(shù)據(jù)庫(DataBase,DB)中。表是相關(guān)記錄的集合,它由列和行組成,是一種二維關(guān)系表。1.2.2Hadoop生態(tài)系統(tǒng)(4)Pig是數(shù)據(jù)處理腳本,提供相應(yīng)的數(shù)據(jù)流(DataFlow)語言和運行環(huán)境,它可用于實現(xiàn)數(shù)據(jù)轉(zhuǎn)換(使用管道)和實驗性研究(如快速原型),適用于數(shù)據(jù)準(zhǔn)備階段。Pig運行在由Hadoop基本架構(gòu)構(gòu)建的集群上。1.2.2Hadoop生態(tài)系統(tǒng)(5)Hive是基于平面文件構(gòu)建的分布式數(shù)據(jù)倉庫。Hive管理存儲在HDFS中的數(shù)據(jù),提供基于結(jié)構(gòu)查詢語言(StructureQueryLanguage,SQL)的Hibernate查詢語言(HibernateQueryLanguage,HQL),用于查詢數(shù)據(jù)。Hive和Pig都是建立在Hadoop基本架構(gòu)之上,用來從數(shù)據(jù)庫中提取信息,并將其交給Hadoop處理。1.2.2Hadoop生態(tài)系統(tǒng)(6)Sqoop是Hadoop與關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RelationalDatabaseManagementSystem,RDBMS)之間進行數(shù)據(jù)遷移的工具,使用Sqoop可以從MySQL等傳統(tǒng)關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)導(dǎo)入HDFS、HBase、Hive等Hadoop分布式存儲環(huán)境下,再使用MapReduce等分布式處理工具對數(shù)據(jù)進行加工和處理,將處理結(jié)果導(dǎo)出到RDBMS中。1.2.2Hadoop生態(tài)系統(tǒng)(7)HBase是類似于GoogleBigtable的分布式列數(shù)據(jù)庫(ColumnDB)。HBase支持MapReduce的并行計算和點查詢(即隨機讀取)。HBase是基于Java的產(chǎn)品,與其對應(yīng)的基于C++的開源項目是Hypertable。1.2.2Hadoop生態(tài)系統(tǒng)(8)Avro是一種新的數(shù)據(jù)序列化(Serialization)格式和傳輸工具,主要用來取代Hadoop基本架構(gòu)中原有的進程間通信(InterprocessCommunication,IPC)機制。1.2.2Hadoop生態(tài)系統(tǒng)(9)ZooKeeper是一個開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,它提供的功能包括配置維護、域名服務(wù)、分布式同步、組服務(wù)等。1.2.2Hadoop生態(tài)系統(tǒng)(10)Ambari項目旨在將監(jiān)控和管理等核心功能加入Hadoop項目。Ambari可幫助系統(tǒng)管理員部署和配置Hadoop、升級集群以及監(jiān)控服務(wù)。1.2.2Hadoop生態(tài)系統(tǒng)(11)Flume是Cloudera提供的一個高可用、高可靠、分布式的用于海量日志采集、聚合和傳輸?shù)南到y(tǒng)。Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進行簡單處理,并寫到各種數(shù)據(jù)接收方的能力。1.2.2Hadoop生態(tài)系統(tǒng)(12)Mahout是機器學(xué)習(xí)和數(shù)據(jù)挖掘的一個分布式框架,區(qū)別于其他的開源數(shù)據(jù)挖掘軟件,它是基于Hadoop的;因為Mahout用MapReduce實現(xiàn)了部分?jǐn)?shù)據(jù)挖掘算法,解決了并行挖掘的問題,所以Hadoop的優(yōu)勢就是Mahout的優(yōu)勢。1.3Hadoop與分布式開發(fā)1.3Hadoop與分布式開發(fā)分布式從字面意思理解是指物理地址分開,如主分店模式:主店在紐約,分店在北京。分布式就是要在不同的物理空間實現(xiàn)數(shù)據(jù)資源共享與處理。例如,金融行業(yè)的銀行聯(lián)網(wǎng)、交通行業(yè)的售票系統(tǒng)、公安系統(tǒng)的全國戶籍管理等,這些行業(yè)或系統(tǒng)的單位之間具有地理分布性或業(yè)務(wù)分布性。主店:紐約分店:北京數(shù)據(jù)資源設(shè)置在哪里?1.3Hadoop與分布式開發(fā)典型的分布式開發(fā)采用的是層模式變體,即松散分層系統(tǒng)(RelaxedLayeredSystem)。這種模式的層間關(guān)系松散,每層可以使用比它低的層的所有服務(wù),不限于相鄰層,從而增加層模式的靈活性。較常用的分布式開發(fā)模式有客戶機/服務(wù)器(Client/Server,C/S)開發(fā)模式、瀏覽器/服務(wù)器(Browser/Server,B/S)開發(fā)模式、C/S開發(fā)模式和B/S開發(fā)模式綜合應(yīng)用。1.3Hadoop與分布式開發(fā)客戶機/服務(wù)器開發(fā)模式瀏覽器/服務(wù)器開發(fā)模式1.3Hadoop與分布式開發(fā)Hadoop實現(xiàn)了分布式文件系統(tǒng)和部分分布式數(shù)據(jù)庫系統(tǒng)的功能。Hadoop中的HDFS能夠使數(shù)據(jù)在計算機集群組成的云上高效地存儲和管理,并行編程框架MapReduce能夠讓用戶編寫Hadoop并行應(yīng)用程序,并使運行變得更加簡單,從而通過Hadoop進行分布式開發(fā)。需要注意的是,Hadoop不僅具有處理大規(guī)模分布式數(shù)據(jù)的能力,而且所有作業(yè)的數(shù)據(jù)處理都是批處理,MapReduce的處理過程雖然是流式的,但處理的數(shù)據(jù)不是實時數(shù)據(jù)。也就是說,Hadoop在實時性數(shù)據(jù)處理上不占優(yōu)勢,因此,它不適用于開發(fā)Web程序。1.4Hadoop行業(yè)應(yīng)用案例分析1.4Hadoop行業(yè)應(yīng)用案例分析文化遺產(chǎn)保護:Hadoop可以用于存儲和管理大量的文化遺產(chǎn)數(shù)據(jù),例如歷史建筑、文物和藝術(shù)品等。這些數(shù)據(jù)可以被組織、分析和可視化,以幫助文化機構(gòu)和研究人員更好地了解和保護中國傳統(tǒng)文化。古籍?dāng)?shù)字化:Hadoop可以用于處理大規(guī)模的古籍?dāng)?shù)據(jù),包括掃描、OCR、文字識別和文本分析等。這有助于加快古籍?dāng)?shù)字化的進程,使得更多的人能夠方便地訪問和研究中國傳統(tǒng)文化。1.4Hadoop行業(yè)應(yīng)用案例分析民俗文化研究:Hadoop可以用于分析大規(guī)模的民俗文化數(shù)據(jù),例如節(jié)日慶典、民間傳說和習(xí)俗等。這可以幫助研究人員更好地了解和保護中國傳統(tǒng)的民俗文化,促進文化多樣性的發(fā)展。語言文化保護:Hadoop可以用于處理大規(guī)模的語言數(shù)據(jù),例如語音、文本和圖像等。這可以幫助保護和傳承中國傳統(tǒng)的語言文化,例如方言和少數(shù)民族語言等??偟膩碚f,Hadoop可以為中國傳統(tǒng)文化的保護、研究和傳承提供支持,幫助我們更好地了解和珍惜這些文化遺產(chǎn)。1.4.1Hadoop在搜索引擎中的應(yīng)用百度作為全球最大的中文搜索引擎公司,提供基于搜索引擎的各種產(chǎn)品,包括以網(wǎng)絡(luò)搜索為主的功能性搜索,以貼吧為主的社區(qū)搜索,針對區(qū)域、行業(yè)的垂直搜索、MP3音樂搜索以及百科等,幾乎覆蓋了中文網(wǎng)絡(luò)世界中所有的搜索需求。百度對海量數(shù)據(jù)處理的要求是比較高的,要在線下對數(shù)據(jù)進行分析,還要在規(guī)定的時間內(nèi)處理完并反饋到平臺上。百度在互聯(lián)網(wǎng)領(lǐng)域的平臺需求要通過性能較好的云平臺進行處理,Hadoop就是很好的選擇。
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 神經(jīng)調(diào)節(jié)和體液調(diào)節(jié)的關(guān)系
- 護理感染控制實踐要點
- 出口配額制度
- 分子蒸餾技術(shù)研究進展
- 產(chǎn)前會議制度
- 課程教學(xué)設(shè)計匯報模板
- 2025-2030細胞治療產(chǎn)品監(jiān)管政策演變與行業(yè)投資風(fēng)險評估報告
- 2025-2030細胞治療產(chǎn)品臨床試驗進展與審批提速影響分析報告
- 2025-2030細胞培養(yǎng)肉規(guī)?;a(chǎn)成本下降路徑與口感改良報告
- 2025-2030紙尿褲行業(yè)市場消費分析及產(chǎn)能擴張規(guī)劃研究報告
- 黑龍江省哈爾濱市五區(qū)2025-2026學(xué)年八年級(五四學(xué)制)上學(xué)期期中語文試題(含答案)
- 2026年寧夏賀蘭工業(yè)園區(qū)管委會工作人員社會化公開招聘備考題庫及參考答案詳解1套
- 黃芪中藥課件
- 赤峰市敖漢旗2025年網(wǎng)格員考試題庫及答案
- 船舶除銹涂裝課件
- 天貓店主體變更申請書
- 亞馬遜運營年終總結(jié)
- 幼兒園老師面試高分技巧
- 航空運輸延誤預(yù)警系統(tǒng)
- DLT 5142-2012 火力發(fā)電廠除灰設(shè)計技術(shù)規(guī)程
- 文化藝術(shù)中心管理運營方案
評論
0/150
提交評論