大資料淺析

GeoWin_CAS發表於2014-12-13

大資料概念

       "大資料"是一個體量特別大,資料類別特別大的資料集,並且這樣的資料集無法用傳統資料庫工具對其內容進行抓取、管理和處理。 "大資料"首先是指資料體量(volumes)大,指代大型資料集,一般在10TB?規模左右,但在實際應用中,很多企業使用者把多個資料集放在一起,已經形成了PB級的資料量;其次是指資料類別(variety)大,資料來自多種資料來源,資料種類和格式日漸豐富,已衝破了以前所限定的結構化資料範疇,囊括了半結構化和非結構化資料。接著是資料處理速度(Velocity)快,在資料量非常龐大的情況下,也能夠做到資料的實時處理。最後一個特點是指資料真實性(Veracity)高,隨著社交資料、企業內容、交易與應用資料等新資料來源的興趣,傳統資料來源的侷限被打破,企業愈發需要有效的資訊之力以確保其真實性及安全性。

百度知道—大資料概念

     大資料(bigdata),或稱巨量資料,指的是所涉及的資料量規模巨大到無法透過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。大資料的4V特點:Volume、Velocity、Variety、Veracity。

網際網路週刊—大資料概念

       "大資料"的概念遠不止大量的資料(TB)和處理大量資料的技術,或者所謂的"4個V"之類的簡單概念,而是涵蓋了人們在大規模資料的基礎上可以做的事情,而這些事情在小規模資料的基礎上是無法實現的。換句話說,大資料讓我們以一種前所未有的方式,通過對海量資料進行分析,獲得有巨大價值的產品和服務,或深刻的洞見,最終形成變革之力。

研究機構Gartner—大資料概念

       "大資料"是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的資訊資產。從資料的類別上看,"大資料"指的是無法使用傳統流程或工具處理或分析的資訊。它定義了那些超出正常處理範圍和大小、迫使使用者採用非傳統處理方法的資料集。亞馬遜網路服務(AWS)、大資料科學家JohnRauser提到一個簡單的定義:大資料就是任何超過了一臺計算機處理能力的龐大資料量。研發小組對大資料的定義:"大資料是最大的宣傳技術、是最時髦的技術,當這種現象出現時,定義就變得很混亂。"Kelly說:"大資料是可能不包含所有的資訊,但我覺得大部分是正確的。對大資料的一部分認知在於,它是如此之大,分析它需要多個工作負載,這是AWS的定義。當你的技術達到極限時,也就是資料的極限"。大資料不是關於如何定義,最重要的是如何使用。最大的挑戰在於哪些技術能更好的使用資料以及大資料的應用情況如何。這與傳統的資料庫相比,開源的大資料分析工具的如Hadoop的崛起,這些非結構化的資料服務的價值在哪裡。

大資料特點

       要理解大資料這一概念,首先要從"大"入手,"大"是指資料規模,大資料一般指在10TB(1TB=1024GB)規模以上的資料量。大資料同過去的海量資料有所區別,其基本特徵可以用4個V來總結(Vol-ume、Variety、Value和Veloc-ity),即體量大、多樣性、價值密度低、速度快。

  第一,資料體量巨大。從TB級別,躍升到PB級別。

  第二,資料型別繁多,如前文提到的網路日誌、視訊、圖片、地理位置資訊,等等。

  第三,價值密度低。以視訊為例,連續不間斷監控過程中,可能有用的資料僅僅有一兩秒。

  第四,處理速度快。1秒定律。最後這一點也是和傳統的資料探勘技術有著本質的不同。物聯網、雲端計算、移動網際網路、車聯網、手機、平板電腦、PC以及遍佈地球各個角落的各種各樣的感測器,無一不是資料來源或者承載的方式。

  大資料技術是指從各種各樣型別的巨量資料中,快速獲得有價值資訊的技術。解決大資料問題的核心是大資料技術。目前所說的"大資料"不僅指資料本身的規模,也包括採集資料的工具、平臺和資料分析系統。大資料研發目的是發展大資料技術並將其應用到相關領域,通過解決巨量資料處理問題促進其突破性發展。因此,大資料時代帶來的挑戰不僅體現在如何處理巨量資料從中獲取有價值的資訊,也體現在如何加強大資料技術研發,搶佔時代發展的前沿。

大資料分析 


大資料技術

       資料採集:ETL工具負責將分佈的、異構資料來源中的資料如關係資料、平面資料檔案等抽取到臨時中間層後進行清洗、轉換、整合,最後載入到資料倉儲或資料集市中,成為聯機分析處理、資料探勘的基礎。

  資料存取:關聯式資料庫、NOSQL、SQL等。

  基礎架構:雲端儲存、分散式檔案儲存等。

  資料處理:自然語言處理(NLP,NaturalLanguageProcessing)是研究人與計算機互動的語言問題的一門學科。處理自然語言的關鍵是要讓計算機"理解"自然語言,所以自然語言處理又叫做自然語言理解(NLU,NaturalLanguage Understanding),也稱為計算語言學(Computational Linguistics。一方面它是語言資訊處理的一個分支,另一方面它是人工智慧(AI, Artificial Intelligence)的核心課題之一。

  統計分析:假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、方差分析、卡方分析、偏相關分析、距離分析、迴歸分析、簡單迴歸分析、多元迴歸分析、逐步迴歸、迴歸預測與殘差分析、嶺迴歸、logistic迴歸分析、曲線估計、因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。

  資料探勘:分類 (Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和視覺化、Description and Visualization)、複雜資料型別挖掘(Text,Web ,圖形影像,視訊,音訊等)

  模型預測:預測模型、機器學習、建模模擬。

  結果呈現:雲端計算、標籤雲、關係圖等。

大資料處理

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

大資料處理的流程:

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

大資料處理之一:採集

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

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

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

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

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

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

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

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

大資料處理之四:挖掘

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

  整個大資料處理的普遍流程至少應該滿足這四個方面的步驟,才能算得上是一個比較完整的大資料處理。


相關文章