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