隨著互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計(jì)算的快速發(fā)展,各行各業(yè)爆炸性增長(zhǎng)的海量數(shù)據(jù)將再一次顛覆云時(shí)代,信息量暴增的大數(shù)據(jù)時(shí)代吹響了號(hào)角。
用戶如何從這龐大的數(shù)據(jù)庫(kù)中提取對(duì)自己有用的信息呢?這就需要大數(shù)據(jù)分析技術(shù)和工具,而傳統(tǒng)的商業(yè)智能(BI)工具已經(jīng)抵擋不住企業(yè)如此龐大的數(shù)據(jù)信息。提到大數(shù)據(jù),不得不說的是與大數(shù)據(jù)相關(guān)的技術(shù)名詞:Hadoop、MapReduce、HBase、NoSQL等。業(yè)界的眾多廠商也都開始從技術(shù)入手,打造各自的大數(shù)據(jù)解決方案。一時(shí)間,Hadoop紅遍了全球,就像當(dāng)年的Linux開源軟件系統(tǒng)一樣,成為了研究和設(shè)計(jì)大數(shù)據(jù)解決方案的主流平臺(tái)。
華麗的變形
Hadoop的發(fā)展基本上經(jīng)歷了這樣一個(gè)過程:從一個(gè)開源的Apache基金會(huì)項(xiàng)目,隨著越來越多的用戶的加入,不斷地被使用、貢獻(xiàn)和完善,逐漸形成了一個(gè)強(qiáng)大的生態(tài)系統(tǒng)。
隨著云計(jì)算和大數(shù)據(jù)的發(fā)展,如今Hadoop已經(jīng)是一個(gè)能夠讓用戶輕松駕馭和使用的分布式計(jì)算平臺(tái)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,輕松地在Hadoop上開發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序,并能充分利用集群的威力實(shí)現(xiàn)高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(Hadoop Distributed File System),簡(jiǎn)稱HDFS。HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來部署在價(jià)格低廉的硬件上,而且它提供高傳輸率來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序。HDFS放寬了POSIX的要求,這樣可以用流的形式訪問文件系統(tǒng)中的數(shù)據(jù)。
Hadoop最受歡迎的是在Internet上對(duì)搜索關(guān)鍵字進(jìn)行內(nèi)容分類的工具,但它也可以解決許多要求極大伸縮性的問題。例如,如果您要grep一個(gè)100TB的巨型文件,會(huì)出現(xiàn)什么情況?在傳統(tǒng)的系統(tǒng)上,這將需要很長(zhǎng)的時(shí)間。但是Hadoop在設(shè)計(jì)時(shí)就考慮到這些問題,采用并行執(zhí)行機(jī)制,因此能大大提高效率。
如今,基于Hadoop的應(yīng)用已經(jīng)遍地開花:Yahoo通過集群運(yùn)行Hadoop,以支持廣告系統(tǒng)和Web搜索的研究;Facebook借助集群運(yùn)行Hadoop,以支持其數(shù)據(jù)分析和機(jī)器學(xué)習(xí);百度則使用Hadoop進(jìn)行搜索日志的分析和網(wǎng)頁(yè)數(shù)據(jù)的挖掘工作;淘寶的Hadoop系統(tǒng)用于存儲(chǔ)并處理電子商務(wù)交易的相關(guān)數(shù)據(jù)。
九年的長(zhǎng)跑,Hadoop已從初出茅廬的小象華麗變形,成為了行業(yè)巨人,但還需戒驕戒躁、不斷完善。
性能大提升
Hadoop還是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。Hadoop是以一種可靠、高效、可伸縮的方式進(jìn)行處理的。
Hadoop是可靠的,因?yàn)樗僭O(shè)計(jì)算元素和存儲(chǔ)會(huì)失敗,因此它維護(hù)多個(gè)工作數(shù)據(jù)副本,確保能夠針對(duì)失敗的節(jié)點(diǎn)重新分布處理。
Hadoop是高效的,因?yàn)樗圆⑿械姆绞焦ぷ鳎ㄟ^并行處理加快處理速度。Hadoop可以將數(shù)千個(gè)節(jié)點(diǎn)投入計(jì)算,非常具有性能潛力。但并非所有的工作都可以進(jìn)行并行處理,如用戶交互進(jìn)行的數(shù)據(jù)分析。如果你設(shè)計(jì)的應(yīng)用沒有專門為 Hadoop集群進(jìn)行優(yōu)化,那么性能并不理想,因?yàn)槊總€(gè)Map/Reduce任務(wù)都要等待之前的工作完成。
英特爾針對(duì)大數(shù)據(jù)的開放架構(gòu)核心產(chǎn)品線,推出了英特爾Hadoop分發(fā)版,讓用戶可以實(shí)現(xiàn)“軟硬協(xié)同,體驗(yàn)至上”的創(chuàng)新效果。例如,利用英特爾至強(qiáng)處理器平臺(tái)對(duì)網(wǎng)絡(luò)和I/O 技術(shù)所做的優(yōu)化,與英特爾Hadoop分發(fā)版進(jìn)行強(qiáng)力組合,以往分析1TB的數(shù)據(jù)需要4個(gè)多小時(shí)才能完全處理完,現(xiàn)在僅需要短短的7分鐘即可完成,極大地提升了大數(shù)據(jù)分析的速度。
Hadoop還是可伸縮的,能夠處理PB級(jí)數(shù)據(jù)。由于批量處理功能,Hadoop最好部署在這些場(chǎng)合:索引編制、模式識(shí)別、推薦引擎建立和情緒分析。在所有這些場(chǎng)合下,數(shù)據(jù)大量生成,存儲(chǔ)在Hadoop中,然后最終使用MapReduce函數(shù)來進(jìn)行查詢。但是這并不意味著,Hadoop會(huì)取代數(shù)據(jù)中心里面目前的組件。恰恰相反,Hadoop會(huì)集成到現(xiàn)有的IT基礎(chǔ)設(shè)施里面,以便充分利用進(jìn)入到該企業(yè)的海量數(shù)據(jù)。
曾聽過這樣一則案例:Hadoop集成到一家企業(yè)網(wǎng)站后,情況較之先前大有改觀:大大節(jié)省了時(shí)間和精力。來自Web服務(wù)器的日志數(shù)據(jù)不用經(jīng)歷ETL操作,而是直接被完整地發(fā)送到了Hadoop里面的HDFS。然后,對(duì)日志數(shù)據(jù)執(zhí)行同樣的清理過程,現(xiàn)在只使用MapReduce任務(wù),一旦數(shù)據(jù)清理完畢,隨后被發(fā)送到數(shù)據(jù)倉(cāng)庫(kù)。這個(gè)操作要迅速得多,這歸因于省去了ETL這一步,加上MapReduce操作速度快。而且,所有數(shù)據(jù)仍然保存在Hadoop里面,網(wǎng)站操作人員后續(xù)所需數(shù)據(jù)都可以查詢到。
開源的典范
Hadoop依賴于社區(qū)服務(wù)器,任何人都可以自由的下載、安裝并運(yùn)行。由于它是一個(gè)開源項(xiàng)目,所以沒有軟件成本,這使得它成為一種非常吸引人的解決方案。Hadoop帶有用Java語(yǔ)言編寫的框架,因此運(yùn)行在Linux生產(chǎn)平臺(tái)上是非常理想的。Hadoop上的應(yīng)用程序也可以使用其他語(yǔ)言編寫,比如C++。
Hadoop稱得上開源創(chuàng)新領(lǐng)域的杰出典范。思科的James Urquhart曾經(jīng)這樣說過:“Hadoop可以說是不涉及任何現(xiàn)有專利的開源項(xiàng)目在企業(yè)軟件方面所取得的首個(gè)里程碑式成功”。盡管里程碑不只這么一個(gè),但能夠以這樣的規(guī)模將成功果實(shí)迅速擴(kuò)展的例子還真不多見。
雖然大量的行業(yè)用戶開始學(xué)習(xí)Hadoop的技術(shù)架構(gòu),但在真實(shí)的生產(chǎn)環(huán)境中,依然顯得相當(dāng)謹(jǐn)慎,很大一部分也是因?yàn)殚_源。Google雖然公開了MapReduce論文,但底層的GFS、BigTable等技術(shù)都不是開源的,因?yàn)檫@是互聯(lián)網(wǎng)的核心競(jìng)爭(zhēng)力。很多企業(yè)的確想用這個(gè)技術(shù),但是技術(shù)門檻比較高,前期投入非常之大。一旦進(jìn)入維護(hù)和開發(fā)階段,Hadoop的真實(shí)成本就會(huì)凸顯出來。
群體的智慧
Hadoop作為海量數(shù)據(jù)分析的最佳解決方案,已經(jīng)受到眾多IT廠商的關(guān)注,并由此而錘煉出風(fēng)格迥異的Hadoop發(fā)行版以及支持Hadoop的產(chǎn)品。
例如,IBM在Hadoop系統(tǒng)領(lǐng)域的代表產(chǎn)品InfoSphere BigInsights,它是基于開源Apache Hadoop框架實(shí)現(xiàn),增加了包括管理能力、工作流、安全管理等能力,并融入了IBM研究實(shí)驗(yàn)室的數(shù)據(jù)分析、機(jī)器學(xué)習(xí)技術(shù)以及文本數(shù)據(jù)分析挖掘;IBM在流計(jì)算領(lǐng)域的代表產(chǎn)品是InfoSphere Streams,是目前業(yè)界獨(dú)有的流數(shù)據(jù)處理技術(shù)。Streams能夠在對(duì)諸如氣象信息、通訊信息、金融交易數(shù)據(jù)的管理中動(dòng)態(tài)捕捉信息、進(jìn)行實(shí)時(shí)分析,能夠?qū)o態(tài)數(shù)據(jù)的處理提供有效補(bǔ)充;在數(shù)據(jù)倉(cāng)庫(kù)方面是InfoSphere Warehouse和etezza。Netezza克服了傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)在面臨大數(shù)據(jù)挑戰(zhàn)時(shí)的瓶頸,可以將大量數(shù)據(jù)整合到統(tǒng)一的平臺(tái)上,計(jì)算能力高達(dá)TB級(jí)。
結(jié)語(yǔ)
Hadoop目前已經(jīng)取得了非常驕人的業(yè)績(jī)。隨著互聯(lián)網(wǎng)的發(fā)展,新的業(yè)務(wù)模式正在不斷涌現(xiàn),Hadoop的應(yīng)用也正逐漸從互聯(lián)網(wǎng)向電信、銀行、醫(yī)療、教育等領(lǐng)域拓展。在不久的將來,Hadoop必然會(huì)在更多的領(lǐng)域中繼續(xù)扮演“幕后英雄”,并帶來更多的驚喜。