正當(dāng)時......

學(xué)術(shù)咨詢服務(wù)
當(dāng)前位置:職稱那點事電子信息職稱》基于Spark平臺的大數(shù)據(jù)挖掘技術(shù)分析

基于Spark平臺的大數(shù)據(jù)挖掘技術(shù)分析

來源:職稱那點事作者:趙編輯時間:2019-09-24 09:28
掃碼咨詢

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

基于Spark平臺的大數(shù)據(jù)挖掘技術(shù)分析

  關(guān)鍵詞:Spark平臺 大數(shù)據(jù)挖掘技術(shù) 數(shù)據(jù)分析

  1 基于Spark平臺的大數(shù)據(jù)生態(tài)系統(tǒng)

  1.1 Spark Runtime

  Spark Core所包含的功能主要包括任務(wù)調(diào)度與內(nèi)存管理等,其中包含故障系統(tǒng)性恢復(fù)和存儲系統(tǒng)相互交互的對應(yīng)子元素。在Spark中利用RDD結(jié)構(gòu),傳輸包裝數(shù)據(jù)時,需要先大體了解Spark的核心邏輯數(shù)據(jù)信息,此類數(shù)據(jù)與對象概念存在一定程度上相似性。首先,所有數(shù)據(jù)全集被劃分成若干子集,各子集都能夠被傳輸?shù)郊褐械娜我夤?jié)點中加以處理。其次,計算的中間結(jié)果得以良好保存,基于可靠性進(jìn)行問題思考,可以獲得計算機(jī)結(jié)果相同并存放備份于子集節(jié)點的文件內(nèi)容。再次,任意數(shù)據(jù)子集如果在計算過程中出現(xiàn)失誤,必須重新整理子集,從而實現(xiàn)容錯機(jī)制。

  1.2 Graph X

  Graph X是Spark中的關(guān)鍵子項目,需要基于Spark進(jìn)行構(gòu)建,在大規(guī)模圖計算基礎(chǔ)上,因為Graph X的衍生,可以促使Spark生態(tài)系統(tǒng)在處理大圖的時候?qū)崿F(xiàn)更加豐富的計算,而且在和其他相關(guān)組件實現(xiàn)系統(tǒng)融合的基礎(chǔ)上,可以利用較強的數(shù)據(jù)處理能力,促使所有應(yīng)用都可以通過多項場景獲取。Graph X的作用是提供十分豐富的圖數(shù)據(jù)操作符,因為類庫定義過多,主要包含核心和優(yōu)化操作符,而且部分被定義在Graph Ops操作符中。在利用Scale隱形語言轉(zhuǎn)換特征的時候,可以調(diào)動Graph Ops的操作符。在Graph X中,可以基于多個分布集群進(jìn)行圖運算,并且API接口充足,尤其是到達(dá)一定圖規(guī)模后,需要精益化算法,以此有助于利用分布式圖集做大規(guī)模處理。Graph X的優(yōu)點在于可以有效提高數(shù)據(jù)吸收與規(guī)模。

  1.3 Spark Streaming

  Spark系統(tǒng)是Spark Streaming數(shù)據(jù)分布式處理框架系統(tǒng),在擴(kuò)展Spark數(shù)據(jù)能力的基礎(chǔ)上,促使Spark Streaming 數(shù)據(jù)流嚴(yán)格按照時間方式分割單位,以此構(gòu)成RDD,以較小時間間隔處理流式數(shù)據(jù),受處理延時狀況阻礙,從某種程度上來講,可以看作準(zhǔn)實時處理系統(tǒng)。Spark Streaming 是極具 有事的容錯系統(tǒng),在錯 誤 處 理與恢復(fù)方面水平非常高,因此在處理錯誤上占據(jù)明顯優(yōu)勢。另外,Spark Streaming可以和相關(guān)Spark生態(tài)模塊實現(xiàn)無縫對接,所以在共同完成流數(shù)據(jù)后,還可以處理一些復(fù)雜現(xiàn)象。

  2 基于Spark平臺的開發(fā)環(huán)境及分布式集群構(gòu)建

  2.1 硬件系統(tǒng)要求

  要想確保較好的兼容性與運行性,構(gòu)建Spark分布式集群利用的物理主機(jī)都應(yīng)采取Linux操作系統(tǒng)。選擇1臺主機(jī)的3臺虛擬機(jī)進(jìn)行環(huán)境測試,據(jù)此搭建Spark分布式集群,主要包含2個Worker節(jié)點與1個Master節(jié)點。其中Master 的主要任務(wù)是單機(jī)編寫并調(diào)節(jié)Spark分布式應(yīng)用程序,配置相對較高。Master節(jié)點機(jī)器配置是4G內(nèi)存和四核處理器,Worker節(jié)點配置是2G內(nèi)存與二核處理器。各個節(jié)點的硬盤是以PCIE為基礎(chǔ)的SSD固態(tài)硬盤,其讀寫效率較高,能夠在很大程度上保證運行速度與工作質(zhì)量。集群所構(gòu)成的形式,不僅能夠縮減運行成本,還能夠依據(jù)需求對節(jié)點數(shù)量增加或減少進(jìn)行適當(dāng)調(diào)整。

  2.2 構(gòu)造分布式Spark集群

  首先應(yīng)安裝Scala語言,把每臺虛擬機(jī)的slaves文件內(nèi)容修改成集群中Worker節(jié)點主機(jī)名,同時還需修改節(jié)點的 Spark安裝目錄的Spark-env.sh文件。其中配置系統(tǒng)的jdk環(huán)境變量,修改系統(tǒng)Scala安裝路徑是Scala-Home。在集群中Master節(jié)點的主機(jī)名與IP地址利用Spark_Master_IP的屬性值,其他選項則為默認(rèn)。同時還要保證集群所有節(jié)點的Spark-env.sh文件和Slaves文件的內(nèi)容保持高度一致,以此完成配置之后,通過jps命令查看集群啟動狀況。

  2.3 配置Spark的IDE開發(fā)環(huán)境

  IDEA是Scala語言的開發(fā)環(huán)境,也是重要基礎(chǔ),所以利用此作為Spark應(yīng)用程序編程與開發(fā)環(huán)境。但是為了防止 IDEA在使用中生產(chǎn)太多緩存文件,占據(jù)大量空間與消耗 I/O資源,應(yīng)選取SSD固態(tài)硬盤進(jìn)行文件存儲,以此保證良好性能。IDEA在配置完成之后,便可以開始測試Spark程序。

  3 基于Spark平臺的Apriori算法分布式實現(xiàn)

  3.1 概述

  Apriori算法是基于挖掘關(guān)聯(lián)規(guī)則的頻繁項集算法,能夠反復(fù)掃描交易數(shù)據(jù)庫,利用候選頻繁集生成頻繁集,主要流程是定義最小支持度,選取所有頻繁項集,并以置信度為依據(jù)生成關(guān)聯(lián)規(guī)則。

  3.2 基于Spark平臺的Apriori算法分布式實現(xiàn)

  基于Spark平臺的Apriori算法分布式集群的具體流程,如圖1所示。其中算法的具體思路是:第一,產(chǎn)生頻繁項集,把事務(wù)集通過RDD形式在各機(jī)器上加以分布,累積項目數(shù)量并保留比支持度較高的項集。第二,就頻繁項集衍生頻繁項集,項集自連接生成Ck+1,再掃描數(shù)據(jù)庫,并依據(jù)C+1生成頻繁項集。

  4 基于Spark平臺的分布協(xié)同過濾推薦實現(xiàn)

  4.1 MLIib算法庫

  因為機(jī)器算法的流程十分復(fù)雜,因此在進(jìn)行迭代計算時,任何計算都需要放入磁盤中,以待任務(wù)啟動,但是這樣一來便會消耗大量CPU。對此,在具體利用Spark時,部分工作能夠直接在內(nèi)存中運行,把迭代部分計算任務(wù)全部轉(zhuǎn)存于內(nèi)存,從而提高迭代計算水平與效率,還能夠在必要時進(jìn)行磁盤與網(wǎng)絡(luò)運作。所以說,Spark在迭代計算中極具優(yōu)勢,還能夠發(fā)展成分布式機(jī)器學(xué)習(xí)平臺。基于通信角度進(jìn)行思考,Spark十分出色且高效,通訊效率非常高。在開展分布式機(jī)器算法學(xué)習(xí)的時候,部分資源都集中在各種集群節(jié)點,良好的通信效率可以進(jìn)一步保證分布式算法的運行效果。

  4.2 協(xié)同過濾算法

  所謂協(xié)同過濾算法其實就是人們在使用的時候,會選擇一個靠譜想法,并將此想法提供給用戶。

  4.2.1 系統(tǒng)過濾

  在用戶中選擇興趣愛好相似的用戶,切實結(jié)合其喜好進(jìn)行物品選擇,并組織起來構(gòu)成新集合或序列。用戶可以直接定義成鄰居,但是在此過程中的核心問題是怎樣對用戶間存在類似聘問或怎樣對滿足相關(guān)條件的用戶進(jìn)行針對性組織與利用。

  4.2.2 協(xié)同過濾核心思想

  協(xié)同過濾核心思想需要通過三大環(huán)節(jié)加以實現(xiàn),即進(jìn)行用戶興趣偏好收集,詳細(xì)分析用戶使用物品的相似性,依據(jù)計算加以推薦。系統(tǒng)推薦效果的關(guān)鍵性影響因素就是整合用戶興趣愛好。因為用戶不同所提供的偏好方式也存在較大差異,而且還會受各種場景影響。在一般場景中,應(yīng)選擇一種用戶系統(tǒng),并依據(jù)用戶行為進(jìn)行小組劃分,分組方式主要有兩種:第一,就用戶不同行為為依據(jù)進(jìn)行分組。第二,就不同行為對用戶興趣愛好進(jìn)行分組并加權(quán)處理。在全面收集數(shù)據(jù)行為之后,進(jìn)行數(shù)據(jù)預(yù)處理。在此基礎(chǔ)上,依據(jù)用戶興趣愛好,向用戶推薦可能喜愛的物品,并采取一定的推薦方式,把協(xié)同過濾劃分成基礎(chǔ)用戶協(xié)同和基于物品的協(xié)同兩大類。在推薦中,選擇最為適合的鄰居,目前最常用的方式是固定鄰居數(shù)量與規(guī)定鄰居相似度門檻。

  5 結(jié)語

  總之,在Spark集群布置在Yam上后,既能夠為算法實驗提供良好的測試環(huán)境,還可以以線形適當(dāng)擴(kuò)大集群規(guī)模,切實應(yīng)用到企業(yè)生產(chǎn)中去。有機(jī)結(jié)合Spark與MLIib制定分布式協(xié)同過濾推薦在分布式集群中的運行方案,并基于大數(shù)據(jù)集加以驗證,便能夠有效應(yīng)用到大量推薦系統(tǒng)中去。而且基于Spark平臺的分布式Apriori算法,在很大程度上彌補了MLIib中關(guān)聯(lián)分析類算法的缺陷,并能夠有效應(yīng)用于大數(shù)據(jù)關(guān)聯(lián)分析中。

  參考文獻(xiàn)

  [1] 曹猛.基于Spark核心架構(gòu)的大數(shù)據(jù)平臺技術(shù)研究與實踐[J].中國戰(zhàn)略新興產(chǎn)業(yè),2018(28):130,132.

  [2] 孟雅格.基于Spark平臺大數(shù)據(jù)推薦系統(tǒng)的研究[D].西安電子科技大學(xué),2017.

  [3] 何美斌,胡精英.基于Spark R的大數(shù)據(jù)分析平臺設(shè)計[J]. 電子技術(shù)與軟件工程,2016(21):184.

  [4] 邢英俊.基于Spark的大數(shù)據(jù)挖掘技術(shù)的研究[J].電腦知識與技術(shù),2017,13(16):19-20.

  《基于Spark平臺的大數(shù)據(jù)挖掘技術(shù)分析》來源:《科技資訊》2018年9期,作者:李艷紅。


《基于Spark平臺的大數(shù)據(jù)挖掘技術(shù)分析》
上一篇:電氣控制自動化中PLC技術(shù)應(yīng)用研究
下一篇:基于網(wǎng)絡(luò)信息安全技術(shù)管理的計算機(jī)應(yīng)用研究
更多>>

期刊目錄