摘要:摘 要:由于大數據具有其自身的獨特性,即數據量大、多樣性突出,所以在進行大數據分析時,在處理速度、效率和實時性等方面要求都非常高。而數據挖掘技術主要就是從大量數據中
摘 要:由于大數據具有其自身的獨特性,即數據量大、多樣性突出,所以在進行大數據分析時,在處理速度、效率和實時性等方面要求都非常高。而數據挖掘技術主要就是從大量數據中基于建模算法,尋找在數據中所隱藏的信息,以此促使大數據的價值得以充分發揮。Spark平臺是一個針對超大數據集合的低延遲集群分布式計算系統,利用其進行大數據挖掘與分析更具優勢。據此,本文主要對基于Spark平臺的大數據挖掘技術進行了詳細分析。

關鍵詞:Spark平臺 大數據挖掘技術 數據分析
1 基于Spark平臺的大數據生態系統
1.1 Spark Runtime
Spark Core所包含的功能主要包括任務調度與內存管理等,其中包含故障系統性恢復和存儲系統相互交互的對應子元素。在Spark中利用RDD結構,傳輸包裝數據時,需要先大體了解Spark的核心邏輯數據信息,此類數據與對象概念存在一定程度上相似性。首先,所有數據全集被劃分成若干子集,各子集都能夠被傳輸到集群中的任意節點中加以處理。其次,計算的中間結果得以良好保存,基于可靠性進行問題思考,可以獲得計算機結果相同并存放備份于子集節點的文件內容。再次,任意數據子集如果在計算過程中出現失誤,必須重新整理子集,從而實現容錯機制。
1.2 Graph X
Graph X是Spark中的關鍵子項目,需要基于Spark進行構建,在大規模圖計算基礎上,因為Graph X的衍生,可以促使Spark生態系統在處理大圖的時候實現更加豐富的計算,而且在和其他相關組件實現系統融合的基礎上,可以利用較強的數據處理能力,促使所有應用都可以通過多項場景獲取。Graph X的作用是提供十分豐富的圖數據操作符,因為類庫定義過多,主要包含核心和優化操作符,而且部分被定義在Graph Ops操作符中。在利用Scale隱形語言轉換特征的時候,可以調動Graph Ops的操作符。在Graph X中,可以基于多個分布集群進行圖運算,并且API接口充足,尤其是到達一定圖規模后,需要精益化算法,以此有助于利用分布式圖集做大規模處理。Graph X的優點在于可以有效提高數據吸收與規模。
1.3 Spark Streaming
Spark系統是Spark Streaming數據分布式處理框架系統,在擴展Spark數據能力的基礎上,促使Spark Streaming 數據流嚴格按照時間方式分割單位,以此構成RDD,以較小時間間隔處理流式數據,受處理延時狀況阻礙,從某種程度上來講,可以看作準實時處理系統。Spark Streaming 是極具 有事的容錯系統,在錯 誤 處 理與恢復方面水平非常高,因此在處理錯誤上占據明顯優勢。另外,Spark Streaming可以和相關Spark生態模塊實現無縫對接,所以在共同完成流數據后,還可以處理一些復雜現象。
2 基于Spark平臺的開發環境及分布式集群構建
2.1 硬件系統要求
要想確保較好的兼容性與運行性,構建Spark分布式集群利用的物理主機都應采取Linux操作系統。選擇1臺主機的3臺虛擬機進行環境測試,據此搭建Spark分布式集群,主要包含2個Worker節點與1個Master節點。其中Master 的主要任務是單機編寫并調節Spark分布式應用程序,配置相對較高。Master節點機器配置是4G內存和四核處理器,Worker節點配置是2G內存與二核處理器。各個節點的硬盤是以PCIE為基礎的SSD固態硬盤,其讀寫效率較高,能夠在很大程度上保證運行速度與工作質量。集群所構成的形式,不僅能夠縮減運行成本,還能夠依據需求對節點數量增加或減少進行適當調整。
2.2 構造分布式Spark集群
首先應安裝Scala語言,把每臺虛擬機的slaves文件內容修改成集群中Worker節點主機名,同時還需修改節點的 Spark安裝目錄的Spark-env.sh文件。其中配置系統的jdk環境變量,修改系統Scala安裝路徑是Scala-Home。在集群中Master節點的主機名與IP地址利用Spark_Master_IP的屬性值,其他選項則為默認。同時還要保證集群所有節點的Spark-env.sh文件和Slaves文件的內容保持高度一致,以此完成配置之后,通過jps命令查看集群啟動狀況。
2.3 配置Spark的IDE開發環境
IDEA是Scala語言的開發環境,也是重要基礎,所以利用此作為Spark應用程序編程與開發環境。但是為了防止 IDEA在使用中生產太多緩存文件,占據大量空間與消耗 I/O資源,應選取SSD固態硬盤進行文件存儲,以此保證良好性能。IDEA在配置完成之后,便可以開始測試Spark程序。
3 基于Spark平臺的Apriori算法分布式實現
3.1 概述
Apriori算法是基于挖掘關聯規則的頻繁項集算法,能夠反復掃描交易數據庫,利用候選頻繁集生成頻繁集,主要流程是定義最小支持度,選取所有頻繁項集,并以置信度為依據生成關聯規則。
3.2 基于Spark平臺的Apriori算法分布式實現
基于Spark平臺的Apriori算法分布式集群的具體流程,如圖1所示。其中算法的具體思路是:第一,產生頻繁項集,把事務集通過RDD形式在各機器上加以分布,累積項目數量并保留比支持度較高的項集。第二,就頻繁項集衍生頻繁項集,項集自連接生成Ck+1,再掃描數據庫,并依據C+1生成頻繁項集。
4 基于Spark平臺的分布協同過濾推薦實現
4.1 MLIib算法庫
因為機器算法的流程十分復雜,因此在進行迭代計算時,任何計算都需要放入磁盤中,以待任務啟動,但是這樣一來便會消耗大量CPU。對此,在具體利用Spark時,部分工作能夠直接在內存中運行,把迭代部分計算任務全部轉存于內存,從而提高迭代計算水平與效率,還能夠在必要時進行磁盤與網絡運作。所以說,Spark在迭代計算中極具優勢,還能夠發展成分布式機器學習平臺。基于通信角度進行思考,Spark十分出色且高效,通訊效率非常高。在開展分布式機器算法學習的時候,部分資源都集中在各種集群節點,良好的通信效率可以進一步保證分布式算法的運行效果。
4.2 協同過濾算法
所謂協同過濾算法其實就是人們在使用的時候,會選擇一個靠譜想法,并將此想法提供給用戶。
4.2.1 系統過濾
在用戶中選擇興趣愛好相似的用戶,切實結合其喜好進行物品選擇,并組織起來構成新集合或序列。用戶可以直接定義成鄰居,但是在此過程中的核心問題是怎樣對用戶間存在類似聘問或怎樣對滿足相關條件的用戶進行針對性組織與利用。
4.2.2 協同過濾核心思想
協同過濾核心思想需要通過三大環節加以實現,即進行用戶興趣偏好收集,詳細分析用戶使用物品的相似性,依據計算加以推薦。系統推薦效果的關鍵性影響因素就是整合用戶興趣愛好。因為用戶不同所提供的偏好方式也存在較大差異,而且還會受各種場景影響。在一般場景中,應選擇一種用戶系統,并依據用戶行為進行小組劃分,分組方式主要有兩種:第一,就用戶不同行為為依據進行分組。第二,就不同行為對用戶興趣愛好進行分組并加權處理。在全面收集數據行為之后,進行數據預處理。在此基礎上,依據用戶興趣愛好,向用戶推薦可能喜愛的物品,并采取一定的推薦方式,把協同過濾劃分成基礎用戶協同和基于物品的協同兩大類。在推薦中,選擇最為適合的鄰居,目前最常用的方式是固定鄰居數量與規定鄰居相似度門檻。
5 結語
總之,在Spark集群布置在Yam上后,既能夠為算法實驗提供良好的測試環境,還可以以線形適當擴大集群規模,切實應用到企業生產中去。有機結合Spark與MLIib制定分布式協同過濾推薦在分布式集群中的運行方案,并基于大數據集加以驗證,便能夠有效應用到大量推薦系統中去。而且基于Spark平臺的分布式Apriori算法,在很大程度上彌補了MLIib中關聯分析類算法的缺陷,并能夠有效應用于大數據關聯分析中。
參考文獻
[1] 曹猛.基于Spark核心架構的大數據平臺技術研究與實踐[J].中國倡議新興產業,2018(28):130,132.
[2] 孟雅格.基于Spark平臺大數據推薦系統的研究[D].西安電子科技大學,2017.
[3] 何美斌,胡精英.基于Spark R的大數據分析平臺設計[J]. 電子技術與軟件工程,2016(21):184.
[4] 邢英俊.基于Spark的大數據挖掘技術的研究[J].電腦知識與技術,2017,13(16):19-20.
《基于Spark平臺的大數據挖掘技術分析》來源:《科技資訊》2018年9期,作者:李艷紅。