利用Hadoop搭建大型分布式應用系統(tǒng) |
發(fā)布時間: 2012/7/22 16:13:36 |
在2010年Techonomy會議上參加討論時,谷歌CEO Eric Schmidt引用一個驚人的事實指出,我們現(xiàn)在每兩天創(chuàng)造的信息和2003年以來整個歷史上所創(chuàng)建的信息一樣多。信息泛濫帶來了一系列的技術突破,這讓企業(yè)的數(shù)據(jù)存儲擴展到數(shù)千億字節(jié)甚至是數(shù)拍字節(jié)。谷歌在此領域的貢獻是尤其值得注意,包括它在MapReduce上的工作,它是一種大型分布式數(shù)據(jù)處理的方法,谷歌采用此方法來記錄位于索引資源(映射這些數(shù)據(jù))收藏里的關鍵字或短語,接著再把這些位置的記錄和清單返回給用戶(將映射數(shù)據(jù)減少到緊密相關的結果)。映射和減少操作可以涵蓋模式識別、圖解分析、風險管理和預測模式。 雖然谷歌的MapReduce安裝是專有的,還存在MapReduce概念的很多開源安裝,包括Apache Hadoop。事實上,Hadoop已經(jīng)是分布式數(shù)據(jù)處理的實際解決方案了,數(shù)十個國際公司已經(jīng)從執(zhí)行和開發(fā)兩個方面大力投資該項目。Adobe、Amazon、AOL、Baidu、EBay、Facebook、Hulu、IBM、Last.fm、LinkedIn、Ning、Twitter和Yahoo等已成為用戶,很多大學、醫(yī)院和研究中心也都成為用戶,采用并不受互聯(lián)網(wǎng)重要人物的限制。 Hadoop項目介紹 和Apache軟件基金會(ASF)的很多項目一樣,Hadoop是一個涵蓋性術語,它分配基金會的全部措施來產(chǎn)生“可信、可擴展且分布式計算的開源軟件”,F(xiàn)在的措施由四個子項目組成,包括:
用Hadoop做實驗 盡管Hadoop試圖解決的問題本質(zhì)復雜,從運用這個項目開始會非常容易。作為一個例子,我認為用Hadoop來完成我“用PHP簡化貝寶”一書中的詞頻率分析會很有趣。這個任務會仔細查看整本書(長度大概在130頁左右),并且產(chǎn)生一個所有書中出現(xiàn)詞語的分組列表,連同其中每個詞出現(xiàn)在頻率。 安裝Hadoop之后,我用Calibre把我的書從PDF轉成文本文檔。Hadoop wiki還包含相似的指令,但由于比較近期的Hadoop配置過程改變,以前的資源包含略有更新的指令。 接下來我用下面的命令從臨時位置把這本書復制到Hadoop分布式文件系統(tǒng):
你可以通過運用以下命令確認復制成功:
緊接著,運用和Hadoop一起打包的示例WordCount腳本來執(zhí)行詞頻率分析:
最后,你可以用以下命令查看輸出內(nèi)容:
示例WordCount頻率分析腳本非;,對書中文本里的每一列分配同等的重量,包括代碼。但是為了解析例如DocBook格式的文件并忽略代碼而修改腳本則會是很煩瑣的事情。無論如何,考慮一下你想要創(chuàng)建谷歌全球書籍詞頻統(tǒng)計器一類服務的情況,它 本文出自:億恩科技【www.riomediacenter.com】 |