首頁>Club>
3
回覆列表
  • 1 # 常金123

    1. 大資料處理之一:採集

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

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

    2. 大資料處理之二:匯入/預處理

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

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

    3. 大資料處理之三:統計/分析

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

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

    4. 大資料處理之四:挖掘

    與前面統計和分析過程不同的是,資料探勘一般沒有什麼預先設定好的主題,主要是在現有數 據上面進行基於各種演算法的計算,從而起到預測(Predict)的效果,從而實現一些高級別資料分析的需求。比較典型演算法有用於聚類的Kmeans、用於 統計學習的SVM和用於分類的NaiveBayes,主要使用的工具有Hadoop的Mahout等。該過程的特點和挑戰主要是用於挖掘的演算法很複雜,並 且計算涉及的資料量和計算量都很大,常用資料探勘演算法都以單執行緒為主。

  • 中秋節和大豐收的關聯?
  • 李自成為何選擇長安作為大順國的都城?