學習hadoop——第1篇
正式從資料庫往大資料,沖沖衝!!!
先把整體框架以及整體思路建立,好理解
Hadoop的思想之源:Google
Google搜尋引擎,Gmail,安卓,AppspotGoogle Maps,Google earth,Google 學術,Google翻譯,Google+,
下一步Google what??
不使用超級計算機,不使用儲存(淘寶的去i,去e,去o之路)
大量使用普通的pc伺服器(去掉機箱,外設,硬碟),提供有冗餘的叢集服務
全世界多個數據中心,有些附帶發電廠
運營商向Google倒付費
Google面對的資料和計算難題
大量的網頁怎麼儲存?
搜尋演算法
Page-Rank計算問題
倒排索引
Page Rank :
這是Google最核心的演算法,用於給每個網頁價值評分,是Google“在垃圾中找黃金 ”的關鍵演算法,這個演算法成就了今天的Google
Map-reduce思想:計算PR
Google帶給我們的關鍵技術和思想
GFS
Map-Reduce
Bigtable
Hadoop的源起——Lucene
Doug Cutting開創的開源軟體,用java書寫程式碼,實現與Google類似的全文搜尋功能 ,它提供了全文檢索引擎的架構,包括完整的查詢引
擎和索引引擎
早期釋出在個人網站和SourceForge,2001年年底成為apache軟體基金會jakarta的 一個子專案
Lucene的目的是為軟體開發人員提供一個簡單易用的工具包,以方便的在目標系統中 實現全文檢索的功能,或者是以此為基礎建立起完整
的全文檢索引擎
對於大數量的場景,Lucene面對與Google同樣的困難。迫使Doug Cutting學習和模 仿Google解決這些問題的辦法
一個微縮版:Nutch
目前Hadoop達到的高度
實現雲端計算的事實標 準開源軟體
包含數十個具有強大 生命力的子專案
已經能在數千節點上 執行,處理資料量和 排序時間不斷打破世界紀錄
Hadoop元件
Hadoop的架構
Namenode 名稱節點
Secondary Namenode 輔助名稱節點
DataNode 資料節點
JobTracker 作業跟蹤
程式和資料在同一物理節點上
TaskTracker 任務跟蹤
Master與Slave
資料分析者面臨的問題
資料日趨龐大,無論是入庫和查詢,都出現效能瓶頸
使用者的應用和分析結果呈整合趨勢,對實時性和響應時間要求越來越高
使用的模型越來越複雜,計算量指數級上升
Hadoop的思想
用更多的小型元件來代替大型元件,並且開源
Hadoop體系下的分析手段
主流:Java程式
輕量級的指令碼語言:Pig
SQL技巧平穩過渡:Hive
NoSQL:HBase