

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