1. 程式人生 > >Hadoop:是什麼,如何工作,可以用來做什麼

Hadoop:是什麼,如何工作,可以用來做什麼

Hadoop由來

        在Google的早些時候,為了充分利用為大量結構化資料建立的索引,向用戶提供有用的資訊,這項技術被髮明瞭。當時沒有可以利用的解決大量資料的技術,所以他們構建了自己的平臺。Google的這項技術被用到了Nutch,一個開源的專案,後來,Hadoop被獨立了出來。Yahoo在hadoop被應用到企業中發揮了關鍵的作用

Hadoop可以解決哪些問題

       Hadoop平臺解決需要計算大量資料的問題,這些資料或許是複雜的結構化資料,不能很好的儲存到資料表中。你要做的分析,需要深而廣泛的計算,比如叢集。這正是Google在做的,為網路資料建立索引,分析使用者行為,提高演算法的準確性。        Hadoop有很大的市場。在金融領域,精確評估投資組合和風險分析,建立一個複雜的模型,但是很難使用資料庫引擎,Hadoop可以處理這個問題。線上零售,如果你想為使用者提供更好的搜尋,展示他們更可能買的商品,Hadoop可以很好地處理。這只是其中的幾個例子。

如何搭建Hadoop

         Hadoop執行在多個機器上,這些機器油獨立的記憶體和磁碟。你可以購買多個商業伺服器,組成一個框架,在每個伺服器上執行Hadoop軟體。當你把企業資料匯入到Hadoop,軟體只是把資料分片到多個機器上。你不需要資料的具體的位置,Hadoop儲存資料位置。並且儲存多個副本。         在以資料庫系統為中心,你有很大的磁碟可以連線4個,8個甚至16個處理器。但這也只是叢集能承受的了。但在Hadoop叢集,每個伺服器有4個或8個CPUs,你可以為每個工作建立索引,把程式碼分配到叢集上的伺服器,每個伺服器獨立執行某片資料,然後執行的結果整合到一起。這就是MapReduce:每個執行對映到伺服器,結果歸約到一個集合。 之所以能處理大量資料,Hadoop把資料分片了。能處理複雜的計算,Hadoop多個伺服器並行處理。