饒正嬋 蒲天銀
摘要 在大數據時代,一方面依托大數據豐富的資源儲備和強大的計算機技術優勢促進產業的升級和崛起,但是大數據的復雜性使得對于有價值信息的挖掘變得困難,尤其是當傳統的數據挖掘技術無法滿足用戶需求時,就需要開發一種新的大數據挖掘技術來解決當前數據挖掘上的困難。本文將對傳統數據挖掘技術和云計算條件下的大數據挖掘技術進行對比,然后進一步探討大數據挖掘的內涵,提出了基于云計算的大數據挖掘體系架構,最后以Hadoop大數據挖掘平臺為例,分析大數據挖掘內部工作的流程,并分析大數據挖掘技術的優勢和所面臨的挑戰。
【關鍵詞】云計算 大數據挖掘 內涵 解決方案
1 大數據挖掘技術和傳統數據挖掘技術
大數據挖掘技術指的是從體量龐大的數據堆中將有價值的信息或者知識提取出來,然后通過服務的形式提供給用戶。和傳統數據挖掘技術相比,兩者的目的一樣,都是為了獲取有價值的信息,但是兩者的技術發展背景、處理對象以及挖掘的深度和廣度有所差異。
1.1 技術發展背景
隨著科學技術的發展以及對于有價值信息需求的提升,傳統數據挖掘和大數據挖掘都獲得了一定的發展。但是傳統數據挖掘產生和發展的背景是互聯網時代和數據庫時代,其所需要處理的數據體量沒有大數據挖掘技術時代的數據體量龐大,數據信息的復雜程度也沒有大數據挖掘時代的數據復雜。而大數據挖掘技術產生和發展的背景是云計算、物聯網和移動互聯網,該技術是基于大數據特征和為了解決當前系統所面臨的問題而誕生的,是基于云計算進行相關技術的集成來實現數據挖掘的,在開發和應用上還處于不斷探索與發展階段。
1.2 處理對象
大數據挖掘技術和傳統挖掘技術在處理對象上也有所不同,這主要是和兩者技術產生的背景有關。基于互聯網發展而誕生的傳統數據處理,只是對某個范圍內信息管理系統所產生的數據進行處理,雖然也包含用戶產生的主動數據,但依舊是以被動產生的結構化數據為主要處理對象。而大數據挖掘技術是在云計算、物聯網以及移動互聯網的背景下誕生的,所以其處理對象中的數據除了信息管理系統中的數據、Web系統用戶產生的數據外,也包括感知信息系統自動生成的仿真數據。也就是說大數據挖掘技術所需要處理的對象體量龐大、數據類型復雜,采集范圍更加廣泛而全面,數據處理起來也比較及時快速。但是大數據挖掘技術在進行數據挖掘處理時對精確度要求并不高,所以會出現數據冗余度和不確定性提高的問題。
1.3 挖掘的程度
傳統數據挖掘和大數據挖掘技術在對數據進行分析處理時的廣度和深度也不一樣。隨著數據體量增大、數據類型復雜性增加,再加上不同結構和模式數據的發展,只有通過大數據挖掘技術,基于云計算進行相關技術的集成,才能對這些復雜的數據進行分析處理,其數據處理的范圍更廣,在數據挖掘分析上也更加深入。而傳統數據挖掘只能針對小范圍內的數據信息進行處理,處理的范圍受到限制而且分析數據的類型比較單一。此外,傳統數據挖掘受到自身平臺體系的限制,其計算和挖掘算法的擴展性不強,所以在對多源異構信息進行處理上比較困難,且及時性不夠。
2 基于云計算的大數據挖掘體系架構
2.1 云計算
云計算是一種基于網絡的超級計算模式。主要是通過非本地的或者遠程的分布式計算機為互聯網用戶提供計算或者存儲等服務。在這種計算模式中,用戶可以通過不同的應用平臺進入到數據中心,然后利用中心里的數據,而且云計算的能力十分強。這樣不但為每位互聯網用戶帶去更為簡便的信息處理方式,而且還能節約資源,提高資源的整體利用率。目前云計算已經成為新時代炙手可熱的名詞,也是諸多學者和網絡公司研究的重點。和傳統數據挖掘相比,云計算計算模式具有彈性高、可擴展性強以及虛擬化的特點,也就是說在大數據環境中,云計算可以為數據分析處理和數據存儲提供支撐,提高數據分析處理和存儲的能力。分布式存儲和分布式并行計算是云計算的核心技術,其中分布式存儲又包括分布式文件存儲和分布式數據庫存儲,這種分布式存儲解決了傳統數據挖掘所面臨的存儲問題,而分布式并行計算由于其易用性和極高的擴展性,所以可應用于對海量數據的批量處理,從而可降低運算復雜程度,提高計算效率。目前很多企業基于云計算推出了相應的大數據挖掘解決方案,比如IBM基于Hadoop、流計算以及智能分析實現對數據的實時整合管理和智能分析。不同的公司會根據自己的業務范圍制定不同的大數據挖掘解決方案,但是基本上都是基于云計算和數據挖掘功能的融合來構建策略。
2.2 大數據挖掘體系架構
根據上文大數據挖掘和傳統數據挖掘的對比分析,在大數據環境下可以構建一種融合多種計算模式和存儲模式的大數據挖掘體系架構。在該架構中根據功能可以分成支撐平臺層、功能層和服務層。首先支撐平臺層是為大數據挖掘技術分析處理數據和存儲數據提供豐富資源和動力支持的,也就是以該平臺為支撐,利用基于云計算的相關技術和處理工具對復雜龐大的數據進行分析處理,從而構建資源豐富的云環境。在云環境下除了向外界提供數據、硬件和軟件等資源,另外還能大數據挖掘的數據預處理、數據分析和挖掘提供動力支撐。功能層是指從用戶特點和實際需求出發,利用數據挖掘和分析工具,在云平臺上對數據進行智能化的分析,具有較高的存儲和分析能力。服務層指的是在云平臺上利用大數據挖掘技術進行分析處理后將數據處理的結果,借助可視化技術等技術服務形式提供給用戶。
3 基于Hadoop的大數據挖掘平臺
基于Hadoop平臺融合多功能的大數據挖掘,具有高可靠性、高擴展性和高效性的特點,計算模式以批處理和流處理為主,在結構上可分成數據源、大數據挖掘平臺和用戶層三層。在構建該系統時,傳統的數據庫和處理工具、圖并行計算以及內存計算等也被融入到該平臺上,功能豐富多樣,依托支撐技術實現對復雜數據快速實時的處理。下文將從數據預處理、數據存儲、數據計算與分析以及數據展示來介紹其內部工作流程,從而分析大數據挖掘中的數據處理方法和特征。
3.1 數據預處理
傳統數據挖掘在數據預處理上,采取的是先有模式后有數據的方式,也就是在既定的模式下使用處理工具進行查詢和更新等操作,然后對靜態數據進行預處理,具有保護數據完整性、準確性,保證數據高精確度的特點;大數據挖掘技術則采取先有數據后有模式的預處理方式,在沒有特定模式的情況下隨著數據的變化而調整模式。大數據挖掘技術在進行數據預處理時,是借助傳統預處理技術,流處理技術和多模態實體識別以及遠程自動采集融合等技術,從而提高預處理中并行計算、迭代計算和數據合并以及共享等能力。不過大數據預處理關注的是數據之間的關聯性而不關注數據之間的因果關系,而且在處理數據時注重實時性不注重完整性和準確性,所以數據預處理的結果質量不高。
3.2 數據存儲
傳統數據挖掘在進行數據存儲時采用的是行存儲的方式將一些靜態的且確定的結構化數據以多維數據模型或者實體和聯系的方式存儲,存儲的方式被動且隨機,其靈活性和擴展性差;大數據挖掘技術在數據存儲時一方面除了數據庫存儲外還包含分布式存儲方式,另一方面能存儲的數據類型繁多,有結構化數據,也有半結構化和非結構化的數據,存儲的方式主要是列存儲和行列混合存儲。存儲模式靈活簡單,且具有高擴展性。
3.3 數據計算與分析
傳統數據挖掘在進行數據計算和分析時主要是集中批處理,但是大數據挖掘技術則是將多種計算模式和數據處理工具融合到一起,對大數據開展分布式并行處理。對于復雜的、類型繁多的、體量龐大的數據進行處理時,傳統數據挖掘無法自動深入地分析,也難以表達復雜的分析模型,而大數據挖掘可解決傳統數據挖掘中分析工具擴展性差以及云平臺分析功能弱的問題,提高數據并行計算能力和分析能力。
3.4 數據展示
傳統數據挖掘在進行數據展示時主要是以文本、報表以及少數可視化的圖形來反映模型效果、性能和挖掘的信息,但是只適合于數據小且關系簡單的數據,對于多維的、海量的和動態的數據只能通過大數據挖掘來進行展示。大數據挖掘通過人機交互的可視化方式將海量復雜的大數據通過圖像和動畫的形式直觀地展示,然后借助自動分析工具進行分析挖掘,幫助用戶進一步理解數據。目前代表性的可視化技術有宇宙星球圖、標簽云等,不過為了實現更加高效的可視化分析,對可視化技術的時效性以及負載均衡和節點通信等還需要進一步研究。
4 結語
綜上,在大數據時代,面對海量、復雜、不確定的動態數據,傳統數據挖掘方式在計算分析能力和存儲能力上都遇到了問題,而且其靈活性和擴展性也不符合大數據實時處理要求。而基于云計算的大數據挖掘技術一方面有強大的計算和存儲能力,另一方面還能使大數據和云計算得以深度融合。不過,大數據挖掘也存在數據精確度不高、數據處理質量較差、隱私安全以及共享等問題,所以未來還需要對這些問題進一步研究和深入.從而滿足用戶對于大數據挖掘可靠、高效和高質量的需求。
參考文獻
[1]孟小峰,慈祥.大數據管理:概念、技術與挑[J].計算機研究與發展,2013 (01):146-169.
[2]趙又霖,鄧仲華,陸穎雋等,數據挖掘云服務分析研究[J].情報理論與實踐,2012 (09):33-36,44.
[3]李建中,劉顯敏.大數據的一個重要方面:數據可用性[J].計算機研究與發展,2013(06):1147-1162.