(泉州市科學技術信息研究所,福建 泉州 362000)
摘 要:隨著物聯網、移動通信、數據自動采集技術的快速發展,人類社會所擁有的數據開始呈出現爆炸式增長。數據挖掘是獲取信息的重要技術,現已成為業內的一大研究熱點。由于需要挖掘的信息源中的數據是以指數級增長的,傳統的集中式串行數據挖掘方法已不適用,因此如何提高數據挖掘算法處理大數據的能力,提高數據處理的速度與執行效率是擺在人們面前的重要課題。文章提出一種基于云計算的大數據挖掘平臺,首先對相關概念進行闡釋,分析數據挖掘云平臺的關鍵技術,最后提出基于云計算環境的大數據挖掘平臺的構建模型。
關鍵詞:云計算;大數據;數據挖掘
現階段數據挖掘主要面臨兩個問題,即異構數據源的處理與海量數據的處理。計算機行業的井噴式發展使各關系數據庫以外的其它數據形式紛紛出現,如何有效的處理不同數型的數據源是數據挖掘技術需要考慮的重要問題,且隨著互聯網、物聯網的發展與普及,數據量呈指數級增長進入一個大數據時代,需要進一步提高數據挖掘算法的效率與性能。而在大數據挖掘中融入云計算技術可大大提高數據挖掘的效率問題。
1 相關概念闡釋
云計算是一種以互聯網為基礎的計算模式,其采用動態的、可擴展的、經過虛擬化的方式處理資源及進行計算,其強大的存儲及交互能力大大提高了用戶的便捷性。從某程度上講,云計算是并行計算、分布式計算技術的發展。數據挖掘是指從大量靈敏據中獲取有效的、新穎的、潛在有用的、最終可理解的模式的過程,通過數據挖掘發現大數據中所隱含的知識,并為用戶決策提供指導作用,目前數據挖掘技術已被廣泛應用于多個領域的決策分析。數據挖掘的任務通常包括預測任務與描述任務兩種,其中預測任務是根據一個屬性值對目標屬性值做出預測;描述任務則是將總結數據間隱藏的聯系模式描述出來。大數據則是指一種巨量數據,其主要用于描述、定義信息爆炸時代所產生的海量數據,以提高從高頻率、大容易、不同結構及類型的數據中獲取更有價值的信息的經濟性與有效性,可以說大數據是移動互聯網發展到一定程度的產物。如果針對大數所進行挖掘無疑可以獲取更大的價值,創造更大的效益。大數據體現出數量巨大、種類繁多、價值高、處理速度快的特點,從某種程度上講,云計算與大數據是相輔相成的關系,云計算是大數據的基礎,大數據是云計算的重要應用。
2 基于云平臺的大數據挖掘的關鍵技術
具體而言,云計算環境中大數據挖掘的關鍵技術包括分布式并行技術與數據挖掘算法兩種。
2.1 分布式并行技術
云計算的核心是提供分布式文件存儲及并行計算,其中分布式文件存儲的主要作用是提高數據的處理速度,滿足并行計算的相關要求。最早的分布式文件系統是谷歌公司開發的GFS系統,后續的HDFS、KFS均是以GFS系統為理論基礎發展而來,現階段這些系統在商業領域、學術領域的應用已經十分廣泛。并行計算方面,目前以谷歌的MapReduce編程模式的應用最為廣泛,其對數據分布、任務執行、數據容錯、帶寬延時等問題進行編碼處理后封裝起來,用戶僅需調用執行即可使用。不過針對計算互相關系的數據方面,這種方法較為不適用,且未形成完善的開發工具體系,故需要進一步探索其未來的發展。
2.2 數據挖掘算法
數據挖掘算法集中了統計學、人工智能、模式識別、建模等多個學科領域,是整個大數據挖掘平臺的核心技術,常用的方法包括統計分析、決策樹、神經網絡等。其中統計分析是最為簡便的方法,其通過數據的最值、均值、方差、相關等方法對數據的統計規律進行分析;決策樹則是對數據行分類后,快速、簡單的描述出來;神經網絡則具有較強的自學習、自組織、自適應能力,可以對數據進行聯想分類及預測等等。不同的算法自有優勢,適用于不同的領域,需要根據用戶的實際需求進行調用、組合。
3 基于云計算的大數據挖掘模型建設
基于云計算的大數據挖掘平臺就是利用云計算本身的存儲能力及分布式并行處理能力的優勢,通常基于云計算的大數據挖掘模型包括三層結構五大模塊,即頂層、中間層及數據中心層,其中頂層包括工作流子系統、用戶接口子系統兩個模塊,中間層則包括并行數據子系統與數據預處理子系統兩個模塊,此外還包括云計算數據中心。
3.1 頂層
頂層括工作流子系統與用戶接口子系統,主要是面向用戶。其中工作流子系統的的主要作用是幫助用戶建立數據挖掘的相關任務,而用戶接口子系統的主要作用是實現用戶交互功能,用戶可以在輸入模塊設置參數,選擇適用的數據挖掘算法,并通過MapReduce平臺進行數據挖掘,最后再以可視化的理解方式將展示結果向用戶呈現出來。
3.2 中間層
中間層是整個數據挖掘系統的核心問分,其包括數據預處理子系統及并行數據挖掘子系統兩個模塊,由于在云環境中,MapReduce計算模型主要適用于同類型、結構一致的數據,因此需要數據預處理子系統對不規則的大數據進行預先處理,其處理結果即為數據挖掘算法的輸入。常用的數據預處理方法包括并行數據的清洗、數據轉換、數據抽取、集成與加載等等。數據經過預處理后,臟數據、噪聲數據、無用數據的比例大幅減少,大大提高了數據挖掘的效率。并行數據挖掘子系統是整個數據挖掘平臺的核心模塊,現階段很多經典的數據挖掘算法不斷出現。不過由于MapReduce是云計算的算法模型,故云計算平臺上無法直接運用上述算法,必須對現有算法、并行化策略進行整合、改造,才能實現云計算平臺的最優化。
3.3 數據中心層
數據中心層位于整個系統的最底層,其主要作用是存儲大數據,并對數據進行分布式并行處理。數據中心層需要保留多份副本,以保證數據的安全性與高可用性。由于云計算采用的是并行的工作模式,即使在大量用戶提出請求的時候也可迅速回應。
總之,在云計算技術環境下對大數據進行挖掘,大大提高了系統處理數據的效率,但是MapReduce平臺在處理大數據時會頻繁掃描數據庫,顯然會影響其應用效果。因此,未來的研究方向將向著如何通過減少數據庫掃描次數提高數據挖掘的效率,如何在云計算平臺上進行優化。
參考文獻:
[1]王鵬等.云計算與大數據技術[M].人民郵電出版社,2014.
[2][美]Mehmed Kantardzic著,王曉海,吳志剛譯.數據挖掘:概念、模型、方法和算法(第2版)[M].清華大學出版社,2013.