- 大數據分析處理(慕課版)
- 郭永洪 賀萌主編
- 3281字
- 2024-04-23 17:42:54
4.大數據分析流程
大數據分析流程大致分為大數據采集、大數據預處理、大數據存儲與管理、大數據分析與挖掘、大數據可視化這5個階段,如圖1-1所示。

圖1-1 大數據分析流程的5個階段
微課2

大數據分析流程
(1)大數據采集
大數據采集,是指從各種不同的數據源中獲取數據并進行數據存儲與管理,為后面的階段做準備。數據可以來自以下幾個方面:
Web端,包括基于瀏覽器的網絡爬蟲或者應用程序接口(Application Program Interface,API);
App端,包括無線客戶端采集軟件開發工具包(Software Development Kit,SDK)或者埋點;
傳感器,包括溫度傳感器、視覺傳感器、光敏傳感器等;
數據庫,涉及源業務系統和數據同步,包括結構化數據與非結構化數據。
大數據采集通常使用ETL技術,ETL是英文Extract Transformation Load的縮寫,用來描述將數據從來源端(如數據庫、文件等)經過抽取(Extract)、轉換(Transform)、裝載(Load)至目的端(如目的數據源等)的過程。ETL一詞較常用于數據倉庫,但其對象并不限于數據倉庫。
抽取:從各種數據源獲取數據。
轉換:按需求格式將源數據轉換為目標數據。
裝載:把目標數據裝載到數據倉庫中。
ETL的過程如圖1-2所示。

圖1-2 ETL的過程
目前市場上主流的ETL工具有Pentaho Data Integration、DataStage和DataX。
①Pentaho Data Integration,支持跨平臺運行,其特性包括:支持100%無編碼,采用拖曳方式開發ETL數據管道,可對接傳統數據庫、文件、大數據平臺、接口、流數據等數據源。
②DataStage,是由國際商業機器(International Business Machines,IBM)公司開發的一套專門對來自多種數據源的數據的抽取、轉換和裝載過程進行簡化和自動化,并將數據輸入目的數據源的集成工具。
③DataX,是阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺,可在MySQL、Oracle、SQL Server、PostgreSQL、HDFS、Hive、ADS、HBase、Tablestore(OTS)、MaxCompute(ODPS)、DRDS等各種異構數據源之間實現高效的數據同步功能。
(2)大數據預處理
大數據預處理主要分為4個步驟,即數據清洗、數據集成、數據規約和數據變換,如圖1-3所示。它們需要分別完成自己的工作,下面簡單介紹一下。

圖1-3 數據預處理
①數據清洗。
數據清洗是一項復雜且煩瑣的工作,也是整個大數據分析流程中最為重要的環節之一。數據清洗的目的在于提高數據質量,將臟數據“清洗”干凈,使原數據具有完整性、唯一性、權威性、合法性和一致性等特點。
臟數據是指由于重復輸入、輸入格式不一致的數據等不規范的操作,產生的不完整、不準確、無效的數據。越早處理臟數據,數據清洗操作越簡單。
數據清洗主要包括缺失值處理和噪聲處理。
缺失值是指現有數據集中某個或某些屬性的不完整的值。缺失值處理方法有簡單刪除、數據補齊、人工填寫和平均值填充的方法。當數據集中的缺失值樣本比較少時,可以使用簡單刪除法,刪除包含缺失值的樣本,或者用人工填寫的方法補全缺失值樣本。當數據集中的缺失值樣本比較多時,可以使用K-means填充、回歸法等數據補齊的方法或平均值填充的方法,將缺失值樣本補全。
噪聲是指被測量的變量的隨機誤差或偏差。噪聲是指測量變量中的隨機誤差或偏差。噪聲數據的處理方法有分箱、聚類等方法。分箱是指按照數據的屬性值劃分子區間,將待處理的數據按照一定的規則劃分到子區間中,分別對各個子區間中的數據進行處理。聚類是指將對象的集合分組為由類似的對象組成的多個類,找出并清除落在類之外的值。
②數據集成。
數據集成是指將不同來源、格式、特點性質的數據集成到一起,使用戶能夠以透明的方式訪問這些數據源。
數據集成的方法:聯邦數據庫、中間件集成、數據復制。
聯邦數據庫:將各數據源的數據視圖集成為全局模式。
中間件集成:通過統一的全局數據模型來訪問異構數據源。
數據復制:將各個數據源的數據復制到同一處,即數據倉庫。
③數據規約。
在現實場景中,數據集是很龐大的,數據是海量的,在整個數據集上進行復雜的數據分析和挖掘需要花費很長的時間。
數據規約的目的就是從原有龐大數據集中獲得一個精簡的數據集,并使這一精簡的數據集保持原有數據集的完整性,在這一精簡的數據集上進行數據挖掘顯然效率更高,并且挖掘出來的結果與使用原有數據集所獲得的結果是基本相同的。
數據規約方式包括維規約、數量規約、數據壓縮等。
維規約:減少所考慮的隨機變量或屬性的個數。
數量規約:用較小的數據替換原始數據。
數據壓縮:使用變換得到原始數據的“壓縮”表示,從壓縮數據恢復為原始數據,不損失信息的壓縮是無損壓縮,損失信息的壓縮是有損壓縮。
④數據變換。
數據變換是指對數據進行變換處理,使數據更符合當前任務或者算法的需求。它的主要目的是將數據轉換或統一成易于進行數據挖掘的數據存儲形式,使得挖掘過程更加有效。
常用的數據變換方式有數據規范化和數據離散化。
數據規范化:為消除數據的量綱和取值范圍的影響,將數據按照比例進行縮放,使之落入一個特定的區域,便于分析。
連續值離散化:將數據取值的連續區間劃分為小的區間,再將每個小區間重新定義為一個唯一的取值。
(3)大數據存儲與管理
在“大數據”時代,數據庫并發負載非常高,往往每秒要處理上萬次讀寫請求。關系數據庫能勉強應付上萬次SQL查詢,但是應付上萬次SQL寫數據請求,硬盤輸入輸出(Input/Output,I/O)模塊就無法承受了。大型的社交網站(Social Networking Site,SNS)中,用戶每天產生海量的動態,對于關系數據庫來說,在龐大的表里面進行SQL查詢,效率是極其低下的。所以上面提到的這些問題和挑戰催生了一種新型數據庫技術,它就是NoSQL。
NoSQL拋棄了關系模型并能夠在集群中運行,不用事先修改結構定義也可以自由添加字段,這些特征決定了NoSQL非常適用于大數據環境,因此其得到了迅猛的發展和推進。
(4)大數據分析與挖掘
大數據分析是使用適當的統計分析方法對收集來的大量數據進行分析,從中提取有用信息,形成結論,并加以詳細研究和概括總結的過程。在大數據分析領域中,最常用的3種大數據分析類型包括相關性分析、因果推斷、采樣分析。
①相關性分析。
相關性分析是指對兩個或多個具備相關性的變量元素進行分析,從而衡量兩個或多個變量元素的相關程度。相關性分析要求被分析變量之間需要存在一定的聯系才可以進行。
②因果推斷。
因果推斷是指基于某些出現的現象之間的因果關系得出結論的過程。因果推斷的要求原因先于結果,原因和結果具有相關性。
③采樣分析。
采樣分析是指當無法對一個問題非常精確地進行分析時,通過采樣求解近似值,其中的核心問題是如何進行隨機模擬。
大數據挖掘是指從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中,提取隱含在其中人們事先不知道的、但又是潛在有用的信息和知識的過程。數據挖掘可以描述為,按企業既定業務目標,對大量的企業數據進行探索和分析,揭示隱藏的、未知的規律或驗證已知的規律,并進一步將其模型化的有效方法。
傳統的數據分析是基于假設驅動的,一般都是先給出一個假設然后通過數據驗證。數據挖掘在一定意義上是基于發現驅動的,就是通過大量的搜索工作從數據中自動提取出信息或知識,即數據挖掘是要發現那些不能靠直覺發現的信息或知識,甚至是違背直覺的信息或知識,挖掘出的信息或知識越是出乎意料,就可能越有價值。
(5)大數據可視化
大數據可視化是將大規模、復雜和多維度的數據通過圖表、圖形、地圖等視覺元素的方式進行展示和呈現,幫助人們更直觀地理解和分析大數據。通過使用適當的圖表和圖形,大數據可視化可以將龐大的數據集轉化為易于理解和解釋的可視化表達形式,使決策者、分析師和普通用戶能夠更深入地洞察數據背后的深層信息。通過大數據可視化,人們可以更加直觀地理解數據,發現潛在的機會,并制定相應的決策和戰略。
大數據可視化的常見方法有以下幾種。
①統計圖表:指標看板、餅圖、直方圖、散點圖、柱狀圖等傳統BI統計圖表。
②二維、三維區域:使用地理空間數據可視化技術,往往涉及事物特定表面上的位置。如點分布圖,它可以用來顯示特定區域的情況。
③時態:時態數據可視化是指數據以線性的方式展示。最為關鍵的是時態數據可視化有一個起點和一個終點。如散點圖,它可以用來顯示某些區域的溫度信息。
④多維:可以通過使用常用的多維方法來展示二維或高(多)維度的數據。如餅圖,它可以用來顯示政府開支等。
⑤分層:分層方法用于呈現多組數據。這種數據可視化方法通常展示的是大群體里面的小群體。
⑥網絡:在網絡中展示數據間的關系,它是一種常見的展示大量數據的方法。