閱讀屋>科普知識> 大資料分析及處理方法

大資料分析及處理方法

大資料分析及處理方法

  越來越多的應用涉及到大資料,這些大資料的屬性,包括數量,速度,多樣性等等都是呈現了大資料不斷增長的複雜性,所以,大資料的分析方法在大資料領域就顯得尤為重要,可以說是決定最終資訊是否有價值的決定性因素。下面,小編為大家分享大資料分析及處理方法,希望對大家有所幫助!

  大資料的處理

  周濤博士說:大資料處理資料時代理唸的三大轉變:要全體不要抽樣,要效率不要絕對精確,要相關不要因果。

  具體的大資料處理方法其實有很多,但是根據長時間的實踐,筆者總結了一個基本的大資料處理流程,並且這個流程應該能夠對大家理順大資料的處理有所幫助。整個處理流程可以概括為四步,分別是採集、匯入和預處理、統計和分析,以及挖掘。

  採集

  大資料的採集是指利用多個數據庫來接收發自客戶端(Web、App或者感測器形式等)的資料,並且使用者可以透過這些資料庫來進行簡單的查詢和處理工作。比如,電商會使用傳統的關係型資料庫MySQL和Oracle等來儲存每一筆事務資料,除此之外,Redis和MongoDB這樣的NoSQL資料庫也常用於資料的採集。

  在大資料的採集過程中,其主要特點和挑戰是併發數高,因為同時有可能會有成千上萬的使用者來進行訪問和操作,比如火車票售票網站和淘寶,它們併發的訪問量在峰值時達到上百萬,所以需要在採集端部署大量資料庫才能支撐。並且如何在這些資料庫之間進行負載均衡和分片的確是需要深入的思考和設計。

  匯入/預處理

  雖然採集端本身會有很多資料庫,但是如果要對這些海量資料進行有效的分析,還是應該將這些來自前端的資料匯入到一個集中的大型分散式資料庫,或者分散式儲存叢集,並且可以在匯入基礎上做一些簡單的清洗和預處理工作。也有一些使用者會在匯入時使用來自Twitter的Storm來對資料進行流式計算,來滿足部分業務的實時計算需求。

  匯入與預處理過程的特點和挑戰主要是匯入的資料量大,每秒鐘的匯入量經常會達到百兆,甚至千兆級別。

  統計/分析

  統計與分析主要利用分散式資料庫,或者分散式計算叢集來對儲存於其內的海量資料進行普通的分析和分類彙總等,以滿足大多數常見的分析需求,在這方面,一些實時性需求會用到EMC 的GreenPlum、Oracle的Exadata,以及基於MySQL的列式儲存Infobright等,而一些批處理,或者基於半結構化資料的需求可以使用Hadoop。

  統計與分析這部分的主要特點和挑戰是分析涉及的資料量大,其對系統資源,特別是I/O會有極大的佔用。

  挖掘

  與前面統計和分析過程不同的是,資料探勘一般沒有什麼預先設定好的主題,主要是在現有資料上面進行基於各種演算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別資料分析的'需求。比較典型演算法有用於聚類的K-Means、用於統計學習的SVM和用於分類的Naive Bayes,主要使用的工具有Hadoop的Mahout等。

  該過程的特點和挑戰主要是用於挖掘的演算法很複雜,並且計算涉及的資料量和計算量都很大,還有,常用資料探勘演算法都以單執行緒為主。

  大資料分析的五個基本方面

  1. Analytic Visualizations(視覺化分析)

  不管是對資料分析專家還是普通使用者,資料視覺化是資料分析工具最基本的要求。視覺化可以直觀的展示資料,讓資料自己說話,讓觀眾聽到結果。

  2. Data Mining Algorithms(資料探勘演算法)

  視覺化是給人看的,資料探勘就是給機器看的。叢集、分割、孤立點分析還有其他的演算法讓我們深入資料內部,挖掘價值。這些演算法不僅要處理大資料的量,也要處理大資料的速度。

  3. Predictive Analytic Capabilities(預測性分析能力)

  資料探勘可以讓分析員更好的理解資料,而預測性分析可以讓分析員根據視覺化分析和資料探勘的結果做出一些預測性的判斷。

  4. Semantic Engines(語義引擎)

  我們知道由於非結構化資料的多樣性帶來了資料分析的新的挑戰,我們需要一系列的工具去解析,提取,分析資料。語義引擎需要被設計成能夠從“文件”中智慧提取資訊。

  5. Data Quality and Master Data Management(資料質量和資料管理)

  資料質量和資料管理是一些管理方面的最佳實踐。透過標準化的流程和工具對資料進行處理可以保證一個預先定義好的高質量的分析結果。

  假如大資料真的是下一個重要的技術革新的話,我們最好把精力關注在大資料能給我們帶來的好處,而不僅僅是挑戰。


【大資料分析及處理方法】相關文章: