2018-04-27 13:42:28 1521瀏覽
Hadoop的生命周期有多久?如今的Hadoop幾乎已經(jīng)成為大數(shù)據(jù)的代名詞,就短短的幾年時(shí)間Hadoop技術(shù)已經(jīng)無(wú)處不在,就如今的發(fā)展來(lái)看,不僅現(xiàn)在Hadoop是企業(yè)大數(shù)據(jù)的標(biāo)準(zhǔn),而且在未來(lái),它的地位似乎一時(shí)難以動(dòng)搖。下面就扣丁學(xué)堂扣丁學(xué)堂大數(shù)據(jù)在線(xiàn)學(xué)習(xí)的小編一塊來(lái)了解一下Hadoop的生命周期有多久吧。
谷歌文件系統(tǒng)與MapReduce
我們先來(lái)探討一下Hadoop的靈魂——MapReduce。面對(duì)數(shù)據(jù)的爆炸性增長(zhǎng),谷歌的工程師JeffDean和SanjayGhemawat架構(gòu)并發(fā)布了兩個(gè)開(kāi)創(chuàng)性的系統(tǒng):谷歌文件系統(tǒng)(GFS)和谷歌MapReduce(GMR)。前者是一個(gè)出色而實(shí)用的解決方案-使用常規(guī)的硬件擴(kuò)展并管理數(shù)據(jù),后者同樣輝煌,造就了一個(gè)適用于大規(guī)模并行處理的計(jì)算框架。
谷歌MapReduce(GMR)為普通開(kāi)發(fā)者/用戶(hù)進(jìn)行大數(shù)據(jù)處理提供了簡(jiǎn)易的方式,并使之快速、具備容錯(cuò)性。谷歌文件系統(tǒng)(GFS)和谷歌MapReduce(GMR)也為谷歌搜索引擎對(duì)網(wǎng)頁(yè)進(jìn)行抓取、分析提供了核心動(dòng)力。
再回頭看看開(kāi)源世界中的Hadoop,ApacheHadoop的分布式文件系統(tǒng)(HDFS)和HadoopMapReduce完全是谷歌文件系統(tǒng)(GFS)和谷歌MapReduce(GMR)的開(kāi)源實(shí)現(xiàn)。Hadoop項(xiàng)目已經(jīng)發(fā)展成為一個(gè)生態(tài)系統(tǒng),并觸及了大數(shù)據(jù)領(lǐng)域的方方面面。但從根本上,它的核心是MapReduce。
Hadoop是否可以趕超谷歌?
一個(gè)有趣的現(xiàn)象是,MapReduce在谷歌已不再顯赫。當(dāng)企業(yè)矚目MapReduce的時(shí)候,谷歌好像早已進(jìn)入到了下一個(gè)時(shí)代。事實(shí)上,我們談?wù)摰倪@些技術(shù)早就不是新技術(shù)了,MapReduce也不例外。
我希望在后Hadoop時(shí)代下面這些技術(shù)能夠更具競(jìng)爭(zhēng)性。盡管許多Apache社區(qū)的項(xiàng)目和商業(yè)化Hadoop項(xiàng)目都非?;钴S,并以來(lái)自HBase、Hive和下一代MapReduce(YARN)的技術(shù)不斷完善著Hadoop體系,我依然認(rèn)為,Hadoop核心(HDFS和Zookeeper)需要脫離MapReduce并以全新的架構(gòu)增強(qiáng)自己的競(jìng)爭(zhēng)力,真正與谷歌技術(shù)一較高下。
過(guò)濾不斷增長(zhǎng)的索引,分析不斷變化的數(shù)據(jù)集。Hadoop的偉大之處在于,它一旦開(kāi)始運(yùn)行,就會(huì)飛速地分析你的數(shù)據(jù)。盡管如此,在每次分析數(shù)據(jù)之前,即添加、更改或刪除數(shù)據(jù)之后,我們都必須將整個(gè)數(shù)據(jù)集進(jìn)行流式處理。這意味著,隨著數(shù)據(jù)集的膨脹,分析時(shí)間也會(huì)隨之增加,且不可預(yù)期。
那么,谷歌又是怎么做到搜索結(jié)果越來(lái)越實(shí)時(shí)呈現(xiàn)呢?一個(gè)名為Percolator的增量處理引擎取代了谷歌MapReduce(GMR)。通過(guò)對(duì)新建、更改和已刪除文檔的處理,并使用二級(jí)索引進(jìn)行高效的分類(lèi)、查詢(xún),谷歌能夠顯著地降低實(shí)現(xiàn)其目標(biāo)的時(shí)間。
Percolator的作者寫(xiě)道:“將索引系統(tǒng)轉(zhuǎn)化為一個(gè)增量系統(tǒng)……文檔平均處理延遲的因子降低到了現(xiàn)在的100?!边@句話(huà)的意思是,索引Web上新內(nèi)容的速度比之前MapReduce系統(tǒng)快了100倍。
谷歌Dremel即時(shí)數(shù)據(jù)分析解決方案
谷歌和Hadoop社區(qū)曾致力于構(gòu)建基于MapReduce的易用性即時(shí)數(shù)據(jù)分析工具,如谷歌的并行處理語(yǔ)言Sawzall,ApachePig和Hive。但對(duì)熟知SQL的人們而言,他們忽略了一個(gè)基本事實(shí)-構(gòu)建MapReduce的目標(biāo)就在于管理數(shù)據(jù)處理工作。它的核心能力在于工作流管理,而不是即時(shí)數(shù)據(jù)分析。
與之形成鮮明對(duì)比的是,很多BI或數(shù)據(jù)分析查詢(xún)基本上都要求即時(shí)、交互和低延遲。這意味著,使用Hadoop不僅需要規(guī)劃流程圖,而且需要為許多查詢(xún)分析裁減不必要的工作流。即便如此,我們也要花費(fèi)數(shù)分鐘等待工作開(kāi)始,然后花費(fèi)數(shù)小時(shí)等待工作流完成,并且這個(gè)過(guò)程也非常不利于交互式體驗(yàn)。因此,谷歌研發(fā)了Dremel予以應(yīng)對(duì)。Dremel是Google的“交互式”數(shù)據(jù)分析系統(tǒng),可以在幾秒鐘內(nèi)處理PB級(jí)別的數(shù)據(jù),并能輕松應(yīng)對(duì)即時(shí)查詢(xún)。
GoogleDremel的設(shè)計(jì)特點(diǎn):
Dremel是一個(gè)可擴(kuò)展的大型系統(tǒng)。在一個(gè)PB級(jí)別的數(shù)據(jù)集上面,將任務(wù)縮短到秒級(jí),無(wú)疑需要大量的并發(fā)。磁盤(pán)的順序讀速度在100MB/S上下,那么在1S內(nèi)處理1TB數(shù)據(jù),意味著至少需要有1萬(wàn)個(gè)磁盤(pán)的并發(fā)讀!Google一向是用廉價(jià)機(jī)器辦大事的好手。但是機(jī)器越多,出問(wèn)題概率越大,如此大的集群規(guī)模,需要有足夠的容錯(cuò)考慮,保證整個(gè)分析的速度不被集群中的個(gè)別節(jié)點(diǎn)影響。
Dremel是MapReduce的補(bǔ)充。和MapReduce一樣,Dremel也需要GFS這樣的文件系統(tǒng)作為存儲(chǔ)層。在設(shè)計(jì)之初,Dremel并非是MapReduce的替代品,它只是可以執(zhí)行非??斓姆治觯谑褂玫臅r(shí)候,常常用它來(lái)處理MapReduce的結(jié)果集或者用來(lái)建立分析原型。
Dremel的數(shù)據(jù)模型是嵌套的?;ヂ?lián)網(wǎng)數(shù)據(jù)常常是非關(guān)系型的。Dremel還需要有一個(gè)靈活的數(shù)據(jù)模型,這個(gè)數(shù)據(jù)模型至關(guān)重要。Dremel支持一個(gè)嵌套的數(shù)據(jù)模型,類(lèi)似于JSON。而傳統(tǒng)的關(guān)系模型,由于不可避免的有大量的JOIN操作,在處理如此大規(guī)模的數(shù)據(jù)的時(shí)候,往往是有心無(wú)力的。
Dremel中的數(shù)據(jù)是采用列式存儲(chǔ)的。使用列式存儲(chǔ),分析的時(shí)候,可以只掃描需要的那部分?jǐn)?shù)據(jù)的時(shí)候,減少CPU和磁盤(pán)的訪問(wèn)量。同時(shí)列式存儲(chǔ)是壓縮友好的,使用壓縮,可以綜合CPU和磁盤(pán),發(fā)揮最大的效能。
Dremel結(jié)合了Web搜索和并行DBMS的技術(shù)。Dremel借鑒了Web搜索中的“查詢(xún)樹(shù)”的概念,將一個(gè)相對(duì)巨大復(fù)雜的查詢(xún),分割成較小較簡(jiǎn)單的查詢(xún)。大事化小,小事化了,能并發(fā)的在大量節(jié)點(diǎn)上跑。另外,和并行DBMS類(lèi)似,Dremel可以提供了一個(gè)SQL-like的接口,就像Hive和Pig那樣。
谷歌的圖數(shù)據(jù)計(jì)算框架Pregel
谷歌MapReduce是專(zhuān)門(mén)為抓取、分析世界上最龐大的圖形架構(gòu)-internet而設(shè)計(jì)的,但針對(duì)大規(guī)模圖算法(如圖遍歷(BFS)、PageRank,最短路徑(SSSP)等)的計(jì)算則顯得效率低下。因此,谷歌構(gòu)建了Pregel。
Pregel給人的印象非常深刻。Pregel不僅能高效執(zhí)行SSSP或PageRank算法,更令人驚訝的是,公布的數(shù)據(jù)顯示Pregel處理一個(gè)有著幾十億節(jié)點(diǎn)、上萬(wàn)億條邊的圖,只需數(shù)分鐘即可完成,其執(zhí)行時(shí)間隨著圖的大小呈線(xiàn)性增長(zhǎng)。
Pregel基于BSP模型,就是“計(jì)算”-“通信”-“同步”的模式:
·輸入輸出為有向圖
·分成超步
·以節(jié)點(diǎn)為中心計(jì)算,超步內(nèi)每個(gè)節(jié)點(diǎn)執(zhí)行自己的任務(wù),執(zhí)行節(jié)點(diǎn)的順序不確定
·兩個(gè)超步之間是通信階段
在Pregel中,以節(jié)點(diǎn)為中心計(jì)算。Step0時(shí)每節(jié)點(diǎn)都活動(dòng)著,每個(gè)節(jié)點(diǎn)主動(dòng)“給停止投票”進(jìn)入不活動(dòng)狀態(tài)。如果接收到消息,則激活。沒(méi)有活動(dòng)節(jié)點(diǎn)和消息時(shí),整個(gè)算法結(jié)束。容錯(cuò)是通過(guò)檢查點(diǎn)來(lái)做的。在每個(gè)超步開(kāi)始的時(shí)候,對(duì)主從節(jié)點(diǎn)分別備份。
以上就是扣丁學(xué)堂扣丁學(xué)堂大數(shù)據(jù)在線(xiàn)學(xué)習(xí)的小編為大家簡(jiǎn)單分享的Hadoop的生命周期有多久,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢(xún)??鄱W(xué)堂是專(zhuān)業(yè)的大數(shù)據(jù)培訓(xùn)機(jī)構(gòu),每年為各大公司企業(yè)輸送了大量的大數(shù)據(jù)人才,是你學(xué)習(xí)大數(shù)據(jù)技術(shù)的理想之地??鄱W(xué)堂不僅有專(zhuān)業(yè)的老師和與時(shí)俱進(jìn)的課程體系,還有大量的大數(shù)據(jù)在線(xiàn)視頻教程供學(xué)員觀看學(xué)習(xí)哦??鄱W(xué)堂大數(shù)據(jù)學(xué)習(xí)群:209080834。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“大數(shù)據(jù)培訓(xùn)資訊”的相關(guān)文章>>