金宗澤 馮亞麗 文必龍 楊正男 張希東北石油大學計算機與信息技術學院
大數據分析流程框架的研究
金宗澤 馮亞麗 文必龍 楊正男 張希
東北石油大學計算機與信息技術學院
隨著信息技術的不斷創新,信息量的不斷擴大,大數據已經成為了與日常生活息息相關的話題。挖掘大數據的價值已經炙手可熱,如何能夠更高效、更快速地分析大數據已經成為大數據發展的重要挑戰之一。近年來,學術界與工業界就大數據的分析進行了研究,取得了一些研究成果,但針對大數據分析的研究還是非常有限。文中首先從傳統數據倉庫與大數據時代數據倉庫作了對比,引入了大數據的分析流程框架,對分析流程框架的各個部分做了一一闡述,并通過實驗驗證分析了流程框架的可行性。
大數據 分析 數據倉庫
當今時代不僅是一個數據爆炸的時代,更是一個大數據爆發的時代。面對大數據的激流,多元化數據的大量涌現,大數據已經影響了社會生活的各個角落。大數據的“大”并不僅僅指容量,同傳統數據源比較,大數據的速度(數據傳輸和接收的速度)、復雜度以及多樣性都有明顯的增加。文獻提出了大數據的主要4V 特性:數據量( Volume) 、多樣性( Variety) 、處理速度( Velocity)及數據價值(Value)。由于數據量從TB級向PB級躍遷,對于數據的分析要從常規的分析轉入深入的分析,同時要實現對于從高成本的硬件平臺向低成本的硬件平臺進行過渡,這一系列變化都為大數據的分析帶來了挑戰。
傳統的數據倉庫將整個數據分析的層次劃分為4層。傳統的數據源中的數據,經過ETL工具對其進行相應的抽取,并將其在數據倉庫中進行集中存儲和管理。再通過經典模型(如星型模型)組織數據,之后使用OLAP工具從數據倉庫中對其進行讀取,生成數據立方體(MOLAP)或者是直接訪問數據倉庫進行數據分析(R OLAP)。
相較于傳統的數據倉庫,為大數據的變化帶來了諸多問題:
3.1 數據的成本問題
數據在通過復雜的ETL過程后,存儲到數據倉庫中,在OLAP服務器中轉換為經典模型。并且在執行分析時,在連接數據庫將其數據取出,這些代價在TB級時尚可接受,當面對呈指數級別增長的大數據時,會帶來很高的移動數據的成本。因此傳統的方式不可取。
3.2 數據的變化性
傳統的數據倉庫主題是變化較少,在傳統數據庫中解決變化的方式對數據源到前端展現的整個流程中的每個部分進行更改,然后再重新加載數據。甚至有可能重新計算數據,導致其適應變化的周期較長。此模式適應的場合,是數據質量較高、查詢性能高及不是十分計較預處理代價。而在大數據的時代,數據富于變化和多樣,因此這種模式不適應新的需求。
3.3 數據集的處理
傳統的數據集都是在數據庫外進行創建,每個分析專家都會獨立創建自己的分析數據集,并且,每個分析工作都是由這些專家獨立完成的,這表明了可能會有更多的人同時在創建不同的企業數據視圖。一個ADS(Analytic Data Sets)通常只會服務一個項目,每個專家都會擁有自己的生產數據樣本。這些獨立的數據集都會導致每個項目最終產生大量的數據,而在大數據的環境下,首先數據量就很大,數據本身占用空間。其次是對于數據的價值的重復利用,微小差別而不同的結果集的取舍。再次是對資源和精力的節約,以降低成本。
在文獻中提到了采用Map R educe及并行式數據庫的混合架構型的解決方案同時與Map R educe主導型和并行式數據庫主導型作了對比分析,文中在采用Map R educe及并行式數據庫集成型的數據庫的基礎上提出一個大數據分析的流程框架。系統地闡述了大數據分析的整個過程。其流程分為6個重要的階段。在現代的庫內分析框架下,通過對于大數據的使用和研究,做出了一個大數據分析的初步流程:大數據的預處理階段、大數據的輸入接口、分析沙箱、大數據的輸出接口、大數據的展示以及大數據的價值評價。
3.3.1 大數據的預處理階段
大數據的預處理過程即一個數據的清洗過程,從字面上理解是將以存儲好的數據進行一個去“臟”的過程。更確切的說法是將存儲數據中可識別的錯誤去除。在數據倉庫中和數據挖掘過程中,數據清洗是使得數據在一致性(Consistency)、正確性(Correctness)、完整性(Completeness)和最小性(Minimality)四個指標滿足上達到最優。
數據的預處理過程是對大數據進行正式使用和分析的最后一道門檻,在大數據的背景之下,在來源不一的海量數據中,存儲了冗余、復雜及錯誤的數據,之后的“去粗存精”、“去偽存真”的過程交給了數據的預處理階段,能夠在極短的時間內,抽取出高質量的數據,形成統一的規范,滿足接下來的數據的接口,將是大數據研究的熱點。
在Map R educe中,一次性的分析操作居多。對于多維數據的預計算,大數據上的分析操作雖然難以預測,但傳統的分析,如基于報表和多維數據的分析仍占多數。因此,在Map R educe與并行數據庫框架下的大數據分析平臺應該利用預計算等手段加快數據分析的速度。出于對運算的存儲空間的考慮,MOLAP顯然不可取,試想在數據量爆棚的時候計算數據立方體是多么可怕的事情,因此優先考慮HOLAP的實現方案。在此階段,采用Map R educe的分布式預處理的策略,能一定程度上減少大數據移動所帶來的成本消耗。
3.3.2 大數據的輸入接口
在大數據的預處理階段完成后,對其滿足輸入規范的數據進行統一管理,并將輸入數據進行一定的特征提取和數據的關聯分析。在通過使用輸入接口的同時,開放算法接口模塊卡,接收來自不同的算法,而對數據集進行分析和整理。
在整個大數據的輸入接口部分應該要實現對數據分析的展示,特別是對復雜分析的解釋關聯展示,努力做到模塊接口的可視化。在形成可分析的數據集后,輸入接口與輸出接口應同時具有按照主題或語義分類的存儲,這樣能夠解決主題變化,做到當數據在輸入時就可以隨主題變化而改變。
3.3.3 分析沙箱
顧名思義,“沙箱”,一種孩子們常見的玩具,孩子們可以根據個人意愿在沙箱里把沙子堆砌成各種形狀。同樣,分析沙箱就研究而言,相當于一個資源組,在這個資源組里,分析專家們能夠根據個人的意愿對數據進行各種探索。在分析的整個流程中,沙箱為使用分析平臺的專家們提供更為專業的模塊接口和參數選擇,方便分析人員提取更為有效的數據參數,來更加精確地展示分析結果。
3.3.4 大數據的輸出接口
作為大數據分析的出口,為大數據的輸出提供了統一的規范和標準。作為大數據展示的最后一道工序,大數據的輸出接口應具備如下特點:
①規范性:通過大數據輸出接口的數據應具有一定的規范性,規范性為大數據的結果展示做了良好的保證。
②可復用性及剩余資料保存性:作為輸出結果集,大數據的所有參數或者是專家選擇參數,在一次的分析過程中,其潛在的價值有可能被隱藏,需要有特定的、專門的數據倉庫來暫時保存這些具有潛在價值的結果集,對于使用專用算法的,其輸出結果集必然是其專用的數據參數集,而對于其未被專家選擇的參數,輸出結果集應對剩余參數進行適當保留,直到不再挖掘其價值為止。
③模型化:在大數據的輸出階段,應盡可能將其模型化,以便在價值評估階段有利于數據的利用和評分,更有利于將其應用在新的數據中,實現模型的復用。
④查詢共享性:Map R educe采用步步物化的處理方式,導致其I/O代價及網絡傳輸代價較高。在多個查詢間共享物化的中間結果(甚至原始數據),用以分攤代價并避免重復計算,這樣可以有效地降低Map R educe在物化過程中產生的代價。由此可見,如何在數據結果集之間建立多查詢的共享中間結果將是一項非常有實際應用價值的研究。
⑤索引性:輸出結果集應該具有一定的索引性,其輸入數據是多維度的,其結果也是多維度的,在其具有一定的規范性,應該在Map R educe的背景框架下能夠完成多維索引,并且實現對于多維索引的查詢速度的提高。
3.3.5 大數據的展示
可視化工具發展得如此迅速,同時也被越來越多地應用在各個領域,在大數據的結果展示中,采用數據可視化技術將更加高效形象地展示大數據的價值和鮮明的對比性。
應用可視化技術具有以下特點:
①關聯性。可以將表示對象或事件的數據的單個或者多個屬性和變量進行關聯,而數據可以按其所在的不同維度,將其分類、排序、組合、關聯和顯示。在一定程度上體現出了數據之間的關聯性,簡單說可以將財務報表與銷售報表進行關聯,就復雜關聯來講,讓尿布與啤酒的銷售量關聯也成為了可能。
②互動性。使用者可以方便地使用交互的方式管理和開發數據。
③可視性。通過數據接口的數據可以用圖像、曲線、三維立體及動畫等多種方式來展示,通過展示后,專家可以對其模式、關系和趨勢進行進一步明了的分析。
3.3.6 大數據的價值評估
隨著分析流程的擴展性不斷提高,新的分析流程如何利用分析后的價值把企業帶到一個更高的層次,文中引入對于大數據的價值評估方案。分析流程最終會產生新的信息,比如,在市場營銷方面,客戶購買某一種產品的概率,某個產品的最優價格或者是在促銷活動中能帶來銷量提升的區域。將大數據輸出接口中的分析模型應用于最新數據,就是評分。在大數據的價值評估階段,應具備兩種要素:
①嵌入式評分。嵌入式評分能在數據庫內定期地執行評分過程,令使用者可以更加高效地、更加方便地使用結果集所輸出的模型。應該盡可能包含部署每一個獨立的評分過程和建立一個健全的機制來管理和監控這個評分過程。
②校驗評估。校驗評估是在檢驗對于專業數據處理分析的準確性,同人工神經網絡和決策樹判定一樣,大數據的應用管理同時需要檢驗,檢驗它在某一個專業領域的可行性,是否可以根據該分析方法和分析模型來判定這種方式的可行性,其準確的校驗識別率決定這種分析模型的可行性。例如,就石油勘探開發領域應用,在使用大數據進行儲層參數預測時,可以根據大數據對儲層參數進行識別和匹配,尋找相似的儲層參數,從而進行評估。而在最初投放生產中,需要對其使用進行有效地評估,確定這個模型的建立與使用是否有效和可行,可以同經典的算法準確率作對比,計算校驗誤差值,來判定模型是否可行。
通過對大數據分析流程框架的制定,通過實驗對其進行驗證。大數據分析流程框架在油氣勘探開發中的應用,通過對修井記錄和以往的分析數據的抽取和對樣本數據的預處理,通過對分析方法目錄的算法調用,通過樣本數據對整個大數據分析系統進行訓練,使用輸入接口輸入帶診斷數據實現對分析數據的參數識別,最終生成診斷結果,并由大數據分析平臺系統對其識別進行相應的評估,生成評估結果。通過該應用實現對大數據分析流程框架驗證。
文中通過對傳統的數據分析流程的闡述,并對大數據形勢下的數據倉庫與傳統的數據倉庫進行了對比。在此基礎上,提出了新形勢下的大數據分析流程框架,并詳細地闡述了大數據分析流程每一部分所要完成的工作。將其理論模型應用到油氣勘探開發的抽油機故障診斷中,能夠將大數據的分析投入使用并推廣,將具有更廣闊的發展空間與前景。