大資料的關鍵技術

broadviewbj發表於2012-10-29

在大資料時代,傳統的資料處理方法還適用嗎?

大資料環境下的資料處理需求

大資料環境下資料來源非常豐富且資料型別多樣,儲存和分析挖掘的資料量龐大,對資料展現的要求較高,並且很看重資料處理的高效性和可用性。

傳統資料處理方法的不足

傳統的資料採集來源單一,且儲存、管理和分析資料量也相對較小,大多采用關係型資料庫和並行資料倉儲即可處理。對依靠平行計算提升資料處理速度方面而言,傳統的並行資料庫技術追求高度一致性和容錯性,根據CAP理論,難以保證其可用性和擴充套件性。

傳統的資料處理方法是以處理器為中心,而大資料環境下,需要採取以資料為中心的模式,減少資料移動帶來的開銷。因此,傳統的資料處理方法,已經不能適應大資料的需求!

大資料的處理流程包括哪些環節?每個環節有哪些主要工具?

大資料的基本處理流程與傳統資料處理流程並無太大差異,主要區別在於:由於大資料要處理大量、非結構化的資料,所以在各個處理環節中都可以採用MapReduce等方式進行並行處理。

大資料技術為什麼能提高資料的處理速度?

大資料的並行處理利器——MapReduce

大資料可以透過MapReduce這一併行處理技術來提高資料的處理速度。MapReduce的設計初衷是透過大量廉價伺服器實現大資料並行處理,對資料一致性要求不高,其突出優勢是具有擴充套件性和可用性,特別適用於海量的結構化、半結構化及非結構化資料的混合處理。

MapReduce將傳統的查詢、分解及資料分析進行分散式處理,將處理任務分配到不同的處理節點,因此具有更強的並行處理能力。作為一個簡化的並行處理的程式設計模型,MapReduce還降低了開發並行應用的門檻。

MapReduce是一套軟體框架,包括Map(對映)和Reduce(化簡)兩個階段,可以進行海量資料分割、任務分解與結果彙總,從而完成海量資料的並行處理。

MapReduce的工作原理其實是先分後合的資料處理方式。Map即“分解”,把海量資料分割成了若干部分,分給多臺處理器並行處理;Reduce即“合併”,把各臺處理器處理後的結果進行彙總操作以得到最終結果。如右圖所示,如果採用MapReduce來統計不同幾何形狀的數量,它會先把任務分配到兩個節點,由兩個節點分別並行統計,然後再把它們的結果彙總,得到最終的計算結果。

MapReduce適合進行資料分析、日誌分析、商業智慧分析、客戶營銷、大規模索引等業務,並具有非常明顯的效果。透過結合MapReduce技術進行實時分析,某家電公司的信用計算時間從33小時縮短到8秒,而MKI的基因分析時間從數天縮短到20分鐘。

說到這裡,再看一看MapReduce與傳統的分散式平行計算環境MPI到底有何不同?MapReduce在其設計目的、使用方式以及對檔案系統的支援等方面與MPI都有很大的差異,使其能夠更加適應大資料環境下的處理需求。

大資料技術在資料採集方面採用了哪些新的方法

系統日誌採集方法

很多網際網路企業都有自己的海量資料採集工具,多用於系統日誌採集,如HadoopChukwaClouderaFlumeFacebookScribe等,這些工具均採用分散式架構,能滿足每秒數百MB的日誌資料採集和傳輸需求。

網路資料採集方法:對非結構化資料的採集

網路資料採集是指透過網路爬蟲或網站公開API等方式從網站上獲取資料資訊。該方法可以將非結構化資料從網頁中抽取出來,將其儲存為統一的本地資料檔案,並以結構化的方式儲存。它支援圖片、音訊、影片等檔案或附件的採集,附件與正文可以自動關聯。

除了網路中包含的內容之外,對於網路流量的採集可以使用DPIDFI等頻寬管理技術進行處理。

其他資料採集方法

對於企業生產經營資料或學科研究資料等保密性要求較高的資料,可以透過與企業或研究機構合作,使用特定系統介面等相關方式採集資料。

 

本文節選自《大資料——大價值、大機遇、大變革(全綵)

李志剛 主編

電子工業出版社出版

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-747841/,如需轉載,請註明出處,否則將追究法律責任。

相關文章