在大資料時代,傳統的資料處理方法還適用嗎?
大資料環境下的資料處理需求
大資料環境下資料來源非常豐富且資料類型多樣,儲存和分析挖掘的資料量龐大,對資料展現的要求較高,並且很看重資料處理的高效性和可用性。
傳統資料處理方法的不足
傳統的資料擷取來源單一,且儲存、管理和分析資料量也相對較小,大多採用關係型資料庫和並行資料倉儲即可處理。對依靠並行計算提升資料處理速度方面而言,傳統的並行資料庫技術追求高度一致性和容錯性,根據CAP理論,難以保證其可用性和擴充性。
傳統的資料處理方法是以處理器為中心,而大資料環境下,需要採取以資料為中心的模式,減少資料移動帶來的開銷。因此,傳統的資料處理方法,已經不能適應大資料的需求!
大資料的處理流程包括哪些環節?每個環節有哪些主要工具?
大資料的基本處理流程與傳統資料處理流程並無太大差異,主要區別在於:由於大資料要處理大量、非結構化的資料,所以在各個處理環節中都可以採用MapReduce等方式進行平行處理。
大資料技術為什麼能提高資料的處理速度?
大資料的平行處理利器——MapReduce
大資料可以通過MapReduce這一併行處理技術來提高資料的處理速度。MapReduce的設計初衷是通過大量廉價伺服器實現大資料平行處理,對資料一致性要求不高,其突出優勢是具有擴充性和可用性,特別適用于海量的結構化、半結構化及非結構化資料的混合處理。
MapReduce將傳統的查詢、分解及資料分析進行分散式處理,將處理任務分配到不同的處理節點,因此具有更強的平行處理能力。作為一個簡化的平行處理的編程模型,MapReduce還降低了開發並行應用的門檻。
MapReduce是一套軟體架構,包括Map(映射)和Reduce(化簡)兩個階段,可以進行海量資料分割、任務分解與結果匯總,從而完成海量資料的平行處理。
MapReduce的工作原理其實是先分後合的資料處理方式。Map即“分解”,把海量資料分割成了若干部分,分給多台處理器平行處理;Reduce即“合并”,把各台處理器處理後的結果進行匯總操作以得到最終結果。如右圖所示,如果採用MapReduce來統計不同幾何形狀的數量,它會先把任務分配到兩個節點,由兩個節點分別並行統計,然後再把它們的結果匯總,得到最終的計算結果。
MapReduce適合進行資料分析、日誌分析、商業智慧分析、客戶營銷、大規模索引等業務,並具有非常明顯的效果。通過結合MapReduce技術進行即時分析,某家電公司的信用計算時間從33小時縮短到8秒,而MKI的基因分析時間從數天縮短到20分鐘。
說到這裡,再看一看MapReduce與傳統的分布式並行計算環境MPI到底有何不同?MapReduce在其設計目的、使用方式以及對檔案系統的支援等方面與MPI都有很大的差異,使其能夠更加適應大資料環境下的處理需求。
大資料技術在資料擷取方面採用了哪些新的方法
系統日誌採集方法
很多互連網企業都有自己的海量資料擷取工具,多用於系統日誌採集,如Hadoop的Chukwa,Cloudera的Flume,Facebook的Scribe等,這些工具均採用分布式架構,能滿足每秒數百MB的日誌資料擷取和傳輸需求。
網路資料擷取方法:對非結構化資料的採集
網路資料擷取是指通過網路爬蟲或網站公開API等方式從網站上擷取資料資訊。該方法可以將非結構化資料從網頁中抽取出來,將其儲存為統一的本機資料檔案,並以結構化的方式儲存。它支援圖片、音頻、視頻等檔案或附件的採集,附件與本文可以自動關聯。
除了網路中包含的內容之外,對於網路流量的採集可以使用DPI或DFI等頻寬管理技術進行處理。
其他資料擷取方法
對於企業生產經營資料或學科研究資料等保密性要求較高的資料,可以通過與企業或研究機構合作,使用特定系統介面等相關方式採集資料。
本文節選自《大資料——大價值、大機遇、大變革(全彩)》
李志剛 主編
電子工業出版社出版