Hadoop到底能作什麼?怎麼用hadoop?

 

本帖最後由 pig2 於 2014-8-24 22:23 編輯
hadoop是什麼?
(1)Hadoop是一個開源的框架,可編寫和運行分佈式應用處理大規模數據,是專爲離線和大規模數據分析而設計的,並不適合那種對幾個記錄隨機讀寫的在線事務處理模式。Hadoop=HDFS(文件系統,數據存儲技術相關)+ Mapreduce(數據處理),Hadoop的數據來源能夠是任何形式,在處理半結構化和非結構化數據上與關係型數據庫相比有更好的性能,具備更靈活的處理能力,無論任何數據形式最終會轉化爲key/value,key/value是基本數據單元。用函數式變成Mapreduce代替SQL,SQL是查詢語句,而Mapreduce則是使用腳本和代碼,而對於適用於關係型數據庫,習慣SQL的Hadoop有開源工具hive代替。
(2)Hadoop就是一個分佈式計算的解決方案.

hadoop能作什麼?

      hadoop擅長日誌分析,facebook就用Hive來進行日誌分析,2009年時facebook就有非編程人員的30%的人使用HiveQL進行數據分析;淘寶搜索中    的 自定義篩選也使用的Hive;利用Pig還能夠作高級的數據處理,包括Twitter、LinkedIn 上用於發現您可能認識的人,能夠實現相似Amazon.com的協同過濾的推薦效果。淘寶的商品推薦也是!在Yahoo!的40%的Hadoop做業是用pig運行的,包括垃圾郵件的識別和過濾,還有用戶特徵建模。(2012年8月25新更新,天貓的推薦系統是hive,少許嘗試mahout!)

    下面舉例說明:

      設想一下這樣的應用場景. 我有一個100M 的數據庫備份的sql 文件.我如今想在不導入到數據庫的狀況下直接用grep操做經過正則過濾出我想要的內容。例如:某個表中 含有相同關鍵字的記錄那麼有幾種方式,一種是直接用linux的命令 grep 還有一種就是經過編程來讀取文件,而後對每行數據進行正則匹配獲得結果好了 如今是100M 的數據庫備份.上述兩種方法均可以輕鬆應對.
那麼若是是1G , 1T 甚至 1PB 的數據呢 ,上面2種方法還能行得通嗎? 答案是不能.畢竟單臺服務器的性能總有其上限.那麼對於這種 超大數據文件怎麼獲得咱們想要的結果呢?
有種方法 就是分佈式計算, 分佈式計算的核心就在於 利用分佈式算法 把運行在單臺機器上的程序擴展到多臺機器上並行運行.從而使數據處理能力成倍增長.可是這種分佈式計算通常對編程人員要求很高,並且對服務器也有要求.致使了成本變得很是高.
Haddop 就是爲了解決這個問題誕生的.Haddop 能夠很輕易的把 不少linux的廉價pc 組成 分佈式結點,而後編程人員也不須要知道分佈式算法之類,只須要根據mapreduce的規則定義好接口方法,剩下的就交給Haddop. 它會自動把相關的計算分佈到各個結點上去,而後得出結果.
例如上述的例子 : Hadoop 要作的事 首先把 1PB的數據文件導入到 HDFS中, 而後編程人員定義好 map和reduce, 也就是把文件的行定義爲key,每行的內容定義爲value , 而後進行正則匹配,匹配成功則把結果 經過reduce聚合起來返回.Hadoop 就會把這個程序分佈到N 個結點去並行的操做.
那麼本來可能須要計算好幾天,在有了足夠多的結點以後就能夠把時間縮小到幾小時以內.


這也就是所謂的 大數據 雲計算了.若是仍是不懂的話再舉個簡單的例子
好比  1億個  1 相加 得出計算結果, 咱們很輕易知道結果是 1億.可是計算機不知道.那麼單臺計算機處理的方式作一個一億次的循環每次結果+1
那麼分佈式的處理方式則變成 我用 1萬臺 計算機,每一個計算機只須要計算 1萬個 1 相加 而後再有一臺計算機把 1萬臺計算機獲得的結果再相加
從而獲得最後的結果.
理論上講, 計算速度就提升了 1萬倍. 固然上面多是一個不恰當的例子.但所謂分佈式,大數據,雲計算 大抵也就是這麼回事了.


hadoop能爲我司作什麼?
零數據基礎,零數據平臺,一切起點都是0。


  • 日誌處理
  • 用戶細分特徵建模
  • 個性化廣告推薦
  • 智能儀器推薦
  • 一切以增長企業的商業價值爲核心目的、最終目的
怎麼用hadoop
  • hadoop的應用的在我司還屬於研發型項目,擬用日誌的分析來走通一次流程,由於此階段目前來講還不須要數據挖掘的專業人員,在數據分析階段便可,而系統有數據庫工程師,Mapreduce有java開發工程師,而分析由我本人介入,而可視化暫時可由前端JS實現,原本個人調研方案,針對大數據的解決方案是hadoop+R的,可是對於R咱們是徹底不懂,在公司尚未大量投入人員的狀況下,只有日誌分析目前看來是最容易出成果的,也是能夠經過較少人員能出必定成果的,因此選取了這個方向做爲試點。
相關文章
相關標籤/搜索