![]() |
VOOZH | about |
傳統方法
在以前的傳統方法中,企業會用一台計算機來存儲和處理數據,將數據存儲在Oracle資料庫、MS SQL Server或DB2里,再利用軟體進行編寫和數據交互,進而分析所需數據,處理並呈現給用戶。
局限性
這種方法只能用於數據量較少的業務,通過標準的資料庫伺服器或處理器來處理數據,但在處理大數據方面,用傳統的資料庫伺服器,就很難完成任務。
Google方案
谷歌使用MapReduce算法解決了這個問題,該算法將任務劃分為幾部分,然後分配給多台計算機,收集結果並形成最終數據集。
上圖顯示,各種商品硬體可以是單個CPU容量較大的機器或伺服器。
Hadoop
Hadoop由 Apache Software Foundation 公司於 2005 年秋天作為Lucene的子項目Nutch的一部分正式引入。Hadoop這個名字不是一個縮寫,而是一個虛構的名字。該項目的創建者,Doug Cutting解釋Hadoop的得名:「這個名字是我孩子給一個棕黃色的大象玩具命名的。我的命名標準就是簡短,容易發音和拼寫,沒有太多的意義,並且不會被用於別處。小孩子恰恰是這方面的高手。」現在的Apache Hadoop是Apache軟體基金會的註冊商標。 Hadoop使用MapReduce算法運行應用程式,數據在不同的CPU並行處理節點,簡而言之,Hadoop框架能夠開發應用程式並在多個計算機上運行,並對海量數據的進行完整的統計分析。
Hadoop框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。
java及大數據免費班:18-25歲普通高等專科以上學歷在讀或已畢業,優先專業:61大類電子信息大類,5603自動化類,670105K數學教育,詳情請關注微信號zhi_neng_she
Hadoop是一個能夠讓用戶輕鬆架構和使用的分布式計算平台。用戶可以輕鬆地在Hadoop上開發和運行處理海量數據的應用程式,它主要有以下幾個優點:
Hadoop帶有用Java語言編寫的框架,因此運行在 Linux 生產平台上是非常理想的。Hadoop 上的應用程式也可以使用其他語言編寫,比如 C++。
hadoop大數據處理的意義
Hadoop得以在大數據處理應用中廣泛應用得益於其自身在數據提取、變形和加載(ETL)方面上的天然優勢。Hadoop的分布式架構,將大數據處理引擎儘可能的靠近存儲,對ETL這樣的批處理操作相對合適,因為類似這樣操作的批處理結果可以直接走向存儲。Hadoop的MapReduce功能實現了將單個任務打碎,並將碎片任務(Map)發送到多個節點上,之後再以單個數據集的形式加載(Reduce)到數據倉庫里。
智能社 撰稿,更多知識請關注微信號zhi_neng_she ,公眾號內『技術圈』更多內容可分享。