高 華
(大連藝術(shù)學(xué)院 文化藝術(shù)管理學(xué)院, 遼寧 大連 116600)
?
計(jì)算機(jī)海量數(shù)據(jù)處理SLIQ算法研究
高華
(大連藝術(shù)學(xué)院 文化藝術(shù)管理學(xué)院, 遼寧 大連116600)
探討云計(jì)算在SLIQ算法中的應(yīng)用,研究結(jié)果顯示,云計(jì)算下的SLIQ算法能夠?qū)τ?jì)算機(jī)海量數(shù)據(jù)存儲(chǔ)中的節(jié)點(diǎn)失效問題有效解決,并且顯著提升計(jì)算機(jī)數(shù)據(jù)處理效率,進(jìn)一步降低數(shù)據(jù)處理難度與復(fù)雜度,還可以快速挖掘海量數(shù)據(jù)信息。
云計(jì)算; 海量數(shù)據(jù);SLIQ算法
數(shù)據(jù)挖掘中的海量數(shù)據(jù)處理及計(jì)算是不可忽視的問題,處理技術(shù)及海量計(jì)算直接影響到數(shù)據(jù)挖掘速度,以前主要是針對(duì)小規(guī)模數(shù)據(jù)量采取相應(yīng)的計(jì)算方法,而現(xiàn)在數(shù)據(jù)量有了顯著增加,還使用原來計(jì)算方法將極大地降低計(jì)算速度,數(shù)據(jù)挖掘也無法正常進(jìn)行,這是數(shù)據(jù)挖掘過程中存在的問題[1]。云計(jì)算加入其中將能夠很好地解決這個(gè)問題,能夠有效地對(duì)海量數(shù)據(jù)信息進(jìn)行處理,提升了數(shù)據(jù)處理速度。云計(jì)算能夠以更為快捷的方式向用戶提供相應(yīng)的計(jì)算資源,提升云計(jì)算下的計(jì)算機(jī)處理能力,減少用戶終端的數(shù)據(jù)處理負(fù)擔(dān),簡(jiǎn)化計(jì)算機(jī)數(shù)據(jù)終端,使其成為一種輸入輸出設(shè)備,云計(jì)算的計(jì)算處理能力非常強(qiáng)大,能夠滿足用戶的多種需求[2]。其中云計(jì)算涉及內(nèi)容主要有網(wǎng)絡(luò)計(jì)算、并行計(jì)算以及分布式計(jì)算等,它借助了網(wǎng)絡(luò)方式整合一些較低的計(jì)算實(shí)體,最終使用戶終端具備強(qiáng)大的計(jì)算能力,經(jīng)過商業(yè)模式得到推廣應(yīng)用[3]。云計(jì)算下的并行SLIQ算法指的是在云計(jì)算技術(shù)平臺(tái)基礎(chǔ)上構(gòu)建分布式時(shí)空數(shù)據(jù)庫(kù),并建立具有海量數(shù)據(jù)計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)挖掘模型,而且在云計(jì)算技術(shù)下,計(jì)算機(jī)海量數(shù)據(jù)不容易出現(xiàn)成批或成片丟失、錯(cuò)誤狀況,有效地解決了海量數(shù)據(jù)存儲(chǔ)中的節(jié)點(diǎn)失效幾率,提高了計(jì)算機(jī)數(shù)據(jù)的安全性。其中云計(jì)算技術(shù)下海量數(shù)據(jù)挖掘系統(tǒng)主要分為四層,分別是平臺(tái)應(yīng)用層、數(shù)據(jù)分析中間件層、分布式計(jì)算層以及分布式文件系統(tǒng)層。
不同層的具體作用如圖1所示。
圖1云計(jì)算技術(shù)下海量數(shù)據(jù)挖掘系統(tǒng)體系架構(gòu)
1.1SLIQ算法分析
SLIQ算法最早在1996年提出,是一種用來對(duì)數(shù)據(jù)進(jìn)行挖掘與分類的算法,旨在對(duì)那些數(shù)據(jù)量巨大且不能夠全部進(jìn)內(nèi)存的數(shù)據(jù)進(jìn)行處理,迅速而準(zhǔn)確地完成決策樹需求。預(yù)排列思路在這種算法中得到了極大體現(xiàn),解決了數(shù)據(jù)量大、無法存入磁盤的數(shù)據(jù)排序問題,離散及連續(xù)字段也得到了很好處理。產(chǎn)生決策樹時(shí),應(yīng)使用預(yù)排序技術(shù),降低數(shù)值性屬性及消耗資源,進(jìn)而提升海量數(shù)據(jù)的處理速度。剛開始處理數(shù)據(jù)時(shí),應(yīng)將所有樣本劃分成屬性節(jié)點(diǎn),掃描每個(gè)數(shù)據(jù)集合,構(gòu)建屬性列表,同時(shí)還要構(gòu)建一個(gè)類別表[4]。因?yàn)閿?shù)據(jù)樣本與屬性表中的記錄內(nèi)容全都是一一對(duì)應(yīng)的,因此,可以將樣本數(shù)值與類表索引存儲(chǔ)起來,根據(jù)屬性值對(duì)連續(xù)型屬性表格中的數(shù)據(jù)進(jìn)行排列組合。每個(gè)樣本類型表中的類別標(biāo)簽與決策樹節(jié)點(diǎn)索引值都需要存儲(chǔ)起來,并只能存儲(chǔ)在內(nèi)存中[5]。SLIQ算法應(yīng)用于決策樹葉節(jié)點(diǎn)存儲(chǔ)類型圖中時(shí),對(duì)需要分類判斷信息進(jìn)行統(tǒng)計(jì),將屬性類別表依據(jù)類別及頻率構(gòu)成二元組。決策樹算法以往多使用構(gòu)造優(yōu)先方式,掃描每個(gè)節(jié)點(diǎn)并完成節(jié)點(diǎn)分裂工作,而SLIQ算法則利用了廣度優(yōu)先方式構(gòu)建決策樹,掃描每層節(jié)點(diǎn)上的屬性表,找到當(dāng)前最優(yōu)的分裂方式。對(duì)形成新節(jié)點(diǎn)的分裂屬性取值,并更新相應(yīng)列表類型中的節(jié)點(diǎn)信息,SLIQ算法在計(jì)算最佳分裂點(diǎn)方面是折中方案,屬性取值如果是小于某個(gè)閥值,應(yīng)做到遍歷子集選擇方案,如果大于其值,應(yīng)該找到最佳分割點(diǎn)近似解[6]。
1.2SLIQ在MapReduce中的改進(jìn)
SLIQ算法的改進(jìn)是在MapReduce編程模式基礎(chǔ)上的,詳細(xì)的改進(jìn)步驟如下:
1)使用MapReduce函數(shù)記錄所有根節(jié)點(diǎn)數(shù)據(jù),并對(duì)其劃分,集合產(chǎn)生的M個(gè)規(guī)模相似的子數(shù)據(jù),將數(shù)據(jù)塊劃分成InputSplit。
2)格式化處理劃分產(chǎn)生的多個(gè)數(shù)據(jù)子集,出現(xiàn)的對(duì)應(yīng)的
3)實(shí)施Map操作主要是掃描輸入記錄,并劃分歸類輸入記錄,歸結(jié)好key相同的,將其寫入對(duì)應(yīng)文件中,還要借助模計(jì)算配置文件到特定的Reduce中。
4)將有一定順序的連續(xù)行數(shù)據(jù)段進(jìn)行排序,并畫出直方圖,設(shè)定初始階段為零,每個(gè)Reduce對(duì)應(yīng)任務(wù)是極端分裂點(diǎn)的Giniindex值,類對(duì)應(yīng)直方圖應(yīng)該實(shí)時(shí)更新;離散對(duì)應(yīng)數(shù)據(jù)不需要排序,也不需要更新直方圖。數(shù)據(jù)進(jìn)行過第一次掃描后,能夠使用類直方圖,將自己對(duì)應(yīng)的Giniindex值計(jì)算出來。
5)Reduce的不同操作中,還會(huì)依據(jù)分裂點(diǎn)生成哈希表,這個(gè)表能夠轉(zhuǎn)化成鍵值相對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu):
6)分裂點(diǎn)完成后,需要比較輸出Reduce,將最小Giniindex數(shù)值對(duì)應(yīng)屬性及分裂點(diǎn)選擇出來,還要選擇相應(yīng)的哈希表將其作為分裂的原始數(shù)據(jù)表,將上述這些及節(jié)點(diǎn)N產(chǎn)生的N1及N2節(jié)點(diǎn)一同放入集合中去。
對(duì)于Hadoop分布式云計(jì)算環(huán)境且基于高性能計(jì)算機(jī)系統(tǒng)而言,結(jié)合命名節(jié)點(diǎn)的形式,也即是Namenode,其中數(shù)據(jù)節(jié)點(diǎn)主要有12個(gè),也即是Datanode,任一數(shù)據(jù)節(jié)點(diǎn)中的各種節(jié)點(diǎn)應(yīng)用,結(jié)合6路四核刀片的形式。通過應(yīng)用Linux操作系統(tǒng),并應(yīng)用Redhat5.5系統(tǒng)結(jié)構(gòu),應(yīng)用Hadoop版本模式,注重分布式環(huán)境的部署,將后臺(tái)進(jìn)程啟動(dòng),并對(duì)相關(guān)例程運(yùn)行,將集群?jiǎn)?dòng)進(jìn)而實(shí)現(xiàn)計(jì)算的過程。
對(duì)于分布式文件系統(tǒng)層而言,主要是結(jié)合HadoopHDFS將高可靠的一種分布式數(shù)據(jù)文件存儲(chǔ)功能實(shí)現(xiàn)。在電子商務(wù)平臺(tái)中海量數(shù)據(jù)的分布存儲(chǔ)過程中實(shí)現(xiàn)多臺(tái)計(jì)算機(jī)集群處理,并做好文件的有效性分塊存儲(chǔ),將容錯(cuò)自動(dòng)分塊復(fù)制功能實(shí)現(xiàn)。這種平臺(tái)上的一種HDFS管理節(jié)點(diǎn)的實(shí)現(xiàn)過程,結(jié)合12個(gè)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成。節(jié)點(diǎn)管理過程對(duì)管理文件系統(tǒng)的名字空間進(jìn)行負(fù)責(zé),在客戶端文件的訪問中,實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)數(shù)據(jù)存儲(chǔ)的應(yīng)用,對(duì)客戶端讀寫請(qǐng)求及時(shí)處理,做好數(shù)據(jù)塊的有效性創(chuàng)建以及刪除,實(shí)現(xiàn)數(shù)據(jù)塊的基礎(chǔ)復(fù)制。在HDFS這種上層分布式的一種計(jì)算層應(yīng)用,將數(shù)據(jù)輸入提供,并結(jié)合中間結(jié)果的實(shí)現(xiàn),將數(shù)據(jù)載體充分實(shí)現(xiàn),并對(duì)可伸縮性的具體優(yōu)勢(shì)充分發(fā)揮,在業(yè)務(wù)系統(tǒng)的聯(lián)系階段實(shí)現(xiàn)分布式文件系統(tǒng)的有效性管理以及訪問。
對(duì)于分布式計(jì)算層而言,在MapReduce中相關(guān)模式的應(yīng)用,結(jié)合分布式并行計(jì)算模型的應(yīng)用,做好數(shù)據(jù)的有效性挖掘,盡可能地結(jié)合任務(wù)分布式的主要形式,實(shí)現(xiàn)數(shù)據(jù)節(jié)點(diǎn)的合理調(diào)度計(jì)算,并做好海量數(shù)據(jù)的有效性處理和分析。在數(shù)據(jù)分析中間件層的分析過程,將實(shí)現(xiàn)聚類分類的一種協(xié)同過濾數(shù)據(jù)挖掘算法,這種允許擴(kuò)展的應(yīng)用過程實(shí)現(xiàn)了平臺(tái)應(yīng)用層業(yè)務(wù)相關(guān)需求分析,對(duì)鋼化膜電子商務(wù)平臺(tái)中的一種Mahout算法庫(kù)進(jìn)行定制,在服務(wù)形式的結(jié)合下,實(shí)現(xiàn)應(yīng)用層的基礎(chǔ)調(diào)用和分析。這種云計(jì)算平臺(tái)中的一種Hadoop應(yīng)用,將云計(jì)算中的一種中間件進(jìn)行協(xié)調(diào)和整合。對(duì)于平臺(tái)應(yīng)用層的相關(guān)分析,將實(shí)現(xiàn)原材料信息分析模式,基于競(jìng)價(jià)參考的形式,結(jié)合目標(biāo)客戶的一種聚焦過程,實(shí)現(xiàn)商業(yè)智能分析,在決策性的支持應(yīng)用過程中,結(jié)合智能搜索的基礎(chǔ)應(yīng)用,將采用電子商務(wù)應(yīng)用模式,進(jìn)而有效滿足了鋼化膜電子商務(wù)的業(yè)務(wù)需求。
在SLIQ算法中,則一定要具有預(yù)排序及廣度優(yōu)先增長(zhǎng)策略,同時(shí)再將其最佳分割計(jì)算出來的時(shí)候,也就會(huì)有新的子節(jié)點(diǎn)產(chǎn)生,之后則需要更新對(duì)類表,將其和之前的節(jié)點(diǎn)子節(jié)點(diǎn)相對(duì)應(yīng),具體的算法代碼則如下:
UpdateLabels()
foreachattributeAusedInasplitdo
traverseattributelistofA
foreachvaluevintheattributelistdo
findthecorrespondingentryintheclasslist(saye)
findthenewclassctowhichvbelongsbyapplyingthe
splittingtestatnodereferencedfrome
updatetheclasslabelforetoc
updatenodereferencedinetothechildcorrespondingto
theclassc
SLIQ算法在實(shí)際應(yīng)用中計(jì)算過程不但復(fù)雜,還必須不斷更新,一方面影響計(jì)算效率,另一方面也影響實(shí)際應(yīng)用價(jià)值。
2.1構(gòu)建云服務(wù)平臺(tái)
云計(jì)算技術(shù)現(xiàn)在日益發(fā)展,已經(jīng)應(yīng)用在數(shù)據(jù)處理中的SLIQ算法,基于云計(jì)算的計(jì)算機(jī)海量數(shù)據(jù)處理中的SLIQ算法則需要涉及到“云服務(wù)”,那么也就需要進(jìn)行云服務(wù)平臺(tái)構(gòu)建,基于計(jì)算機(jī)公共標(biāo)準(zhǔn)及開發(fā)網(wǎng)絡(luò)平臺(tái),對(duì)計(jì)算機(jī)數(shù)據(jù)資源進(jìn)行有效分類、管理,為云端數(shù)據(jù)安全性提供有效保障,并基于用戶實(shí)際需求提供云服務(wù),從而滿足用戶實(shí)際需求,并提高數(shù)據(jù)平臺(tái)開發(fā)質(zhì)量,充分發(fā)揮計(jì)算機(jī)在數(shù)據(jù)處理中的應(yīng)用價(jià)值。云服務(wù)平臺(tái)構(gòu)建時(shí),應(yīng)選擇合適的數(shù)據(jù)分析模型關(guān)聯(lián)規(guī)則,并在此基礎(chǔ)上構(gòu)建數(shù)據(jù)倉(cāng)庫(kù),實(shí)現(xiàn)關(guān)于數(shù)據(jù)清理、消減以及轉(zhuǎn)換等各種操作,SLIQ算法在云計(jì)算技術(shù)中的有效應(yīng)用,能夠顯著提升數(shù)據(jù)管理質(zhì)量。
2.2云計(jì)算下服務(wù)分層細(xì)化
云計(jì)算技術(shù)在數(shù)據(jù)處理硬件設(shè)計(jì)中具有重要應(yīng)用價(jià)值,同時(shí)也和 “云端”、計(jì)算機(jī)系統(tǒng)和局域網(wǎng)等形式具有關(guān)聯(lián),以此顯著提高數(shù)據(jù)系統(tǒng)硬件開發(fā)質(zhì)量。云計(jì)算功能在硬件開發(fā)中的應(yīng)用對(duì)于計(jì)算機(jī)數(shù)據(jù)處理速度有顯著提升作用,同時(shí)也可以有效防范重復(fù)開發(fā)現(xiàn)象的呈現(xiàn);同時(shí)在內(nèi)存管理中也能夠有效滿足用戶需求,顯著提高虛擬存儲(chǔ)管理能力,實(shí)現(xiàn)任務(wù)調(diào)度在軟件設(shè)計(jì)過程中其創(chuàng)建新任務(wù)的功能,在進(jìn)行服務(wù)分層過程中,也必須要具有中斷管理、時(shí)間管理功能,在云計(jì)算數(shù)據(jù)處理基礎(chǔ)上,同時(shí)也一定要完成基礎(chǔ)編程始時(shí)鐘程序的構(gòu)建。
2.3云計(jì)算下的SLIQ算法實(shí)現(xiàn)
SLIQ算法中關(guān)于云計(jì)算技術(shù)的應(yīng)用,主要是在MDL剪枝原理、編碼數(shù)據(jù)的基礎(chǔ)上生成的初始樹,對(duì)其訓(xùn)練集S的子樹T確定,在此基礎(chǔ)上能夠有效提高計(jì)算機(jī)系統(tǒng)在應(yīng)用中的數(shù)據(jù)處理能力。但是在SLIQ算法中還有問題,例如SLIQ算法中,類別列表存在于內(nèi)存中,在云計(jì)算過程中,因?yàn)橛?jì)算機(jī)內(nèi)存具有一定限制,所以對(duì)于數(shù)據(jù)集大小也具有影響。
在云計(jì)算環(huán)境下SLIQ算法主要應(yīng)用的是預(yù)排序技術(shù),本身這種算法就比較復(fù)雜,同時(shí)還需要受到數(shù)據(jù)結(jié)構(gòu)線性的可伸縮性限制。在進(jìn)行數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)轉(zhuǎn)換的時(shí)候,第一步則需要對(duì)數(shù)據(jù)具體參數(shù)及定義等基礎(chǔ)內(nèi)容確定;第二步是預(yù)排列數(shù)據(jù),這里以部分學(xué)生的成績(jī)?yōu)槔M(jìn)而確定數(shù)據(jù)結(jié)構(gòu)及樹節(jié)點(diǎn)信息,得到的類型字段直方圖如圖2和圖3所示。
圖2 數(shù)據(jù)結(jié)構(gòu)
圖3 直方圖
在SLIQ算法基礎(chǔ)上,需要依照數(shù)據(jù)處理的實(shí)際需要實(shí)現(xiàn)SLIQ算法改進(jìn),以此減少對(duì)云計(jì)算決策樹中每個(gè)節(jié)點(diǎn)指數(shù)頻繁計(jì)算,降低每個(gè)節(jié)點(diǎn)計(jì)算的復(fù)雜性,以此顯著提升計(jì)算結(jié)果分類效果。云計(jì)算技術(shù)決策樹建立過程中,最大信息增益值算法代碼可以編寫出來,而且建樹過程中,必須要對(duì)“確定最佳分裂”的可伸縮性顯著提升,對(duì)多耗費(fèi)的開銷計(jì)算降低,最后明確數(shù)值型字段,并在此基礎(chǔ)上確定最佳子集[7]。之后在獨(dú)立數(shù)據(jù)集的應(yīng)用基礎(chǔ)上,獲取導(dǎo)致錯(cuò)誤率最低,并且準(zhǔn)確度高的決策樹。最后依照所得決策樹遍歷整個(gè)程序,得出海量數(shù)據(jù)的計(jì)算處理結(jié)果。
其中云計(jì)算決策樹中每個(gè)節(jié)點(diǎn)的指數(shù)計(jì)算如圖4所示。
圖4 類圖
2.4效益分析
分析基于云計(jì)算的計(jì)算機(jī)海量數(shù)據(jù)處理中的SLIQ算法效益,這里使用的SLIQ算法處理數(shù)據(jù),對(duì)之前海量數(shù)據(jù)管理模式有顯著改善,傳統(tǒng)的手工管理工作均可以借助于計(jì)算機(jī)技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)化管理,顯著提升數(shù)據(jù)處理效果及安全性。對(duì)于云計(jì)算在海量數(shù)據(jù)中的應(yīng)用,則能夠顯著提高數(shù)據(jù)處理方便性及安全性,在互聯(lián)網(wǎng)上不管是硬件還是軟件資源均能夠?qū)崿F(xiàn)自由流通,降低了數(shù)據(jù)丟失問題發(fā)生率,并顯著降低了計(jì)算機(jī)海量數(shù)據(jù)處理人員的工作量,數(shù)據(jù)設(shè)備、處理管理得到了加強(qiáng),開支有效地被縮小,工作效率及準(zhǔn)確率得到了極大提升[8]。
實(shí)施數(shù)據(jù)處理的重要技術(shù)是云計(jì)算,基于云計(jì)算下的海量數(shù)據(jù)處理中用到了SLIQ算法,它能夠處理不同數(shù)據(jù)類型及格式的信息,計(jì)算機(jī)數(shù)據(jù)處理難度也隨之降低,處理效率隨之提高,是一種先進(jìn)的信息技術(shù)。文中重點(diǎn)分析云計(jì)算下的計(jì)算機(jī)海量數(shù)據(jù)處理中的SLIQ算法,首先,明確云計(jì)算技術(shù)的特點(diǎn)及優(yōu)勢(shì);然后,分析數(shù)據(jù)處理中的SLIQ算法并給予改進(jìn);最后,將云計(jì)算技術(shù)應(yīng)用在數(shù)據(jù)處理中的SLIQ算法中,實(shí)現(xiàn)計(jì)算機(jī)的快速查詢與處理。
[1]楊長(zhǎng)春,沈曉玲.基于云計(jì)算的SLIQ并行算法研究[J].計(jì)算機(jī)工程與科學(xué),2012,34(3):62-66.
[2]李曉飛.云計(jì)算環(huán)境下Apriori算法的MapReduce并行化[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2013,34(6):736-740.
[3]耿家禮,王會(huì)穎.云計(jì)算技術(shù)在數(shù)據(jù)SLIQ算法中的應(yīng)用[J].通化師范學(xué)院學(xué)報(bào),2015,36(10):8-10,93.
[4]余先昊.計(jì)算機(jī)海量數(shù)據(jù)SLIQ算法中云計(jì)算技術(shù)的應(yīng)用研究[J].科學(xué)導(dǎo)報(bào),2015(10):257.
[5]王嘉佳.云計(jì)算技術(shù)在計(jì)算機(jī)海量數(shù)據(jù)SLIQ算法中的應(yīng)用[J].數(shù)字通信世界,2015(10):251-251,317.
[6]畢叢娣.關(guān)于“云計(jì)算”的探究[J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2011,32(4):413-416.
[7]王曉嘉,余建坤.基于類標(biāo)簽變化的改進(jìn)SLIQ算法研究[J].微型電腦應(yīng)用,2015(10):27-31.
[8]張薇.一種基于改進(jìn)SLIQ決策樹分類算法的應(yīng)用研究[J].蘇州大學(xué)學(xué)報(bào):工科版,2010,30(1):72-77.
SLIQ algorithms in massive data processing
GAO Hua
(School of Management, Dalian Art College, Dalian 116600, China)
TheapplicationofcloudcomputinginSLIQalgorithmshowthatitcansignificantlysolvenode-failureproblemindatastorage,improvetheprocessingefficiencyandsimplifythedatacalculation.Alsomassivedatainformationcanbemined.
cloudcomputing;massivedata;SLIQalgorithm.
2016-03-20
遼寧省教育廳科研課題(W2012253)
高華(1975-),女,漢族,遼寧大連人,大連藝術(shù)學(xué)院副教授,碩士,主要從事計(jì)算機(jī)應(yīng)用技術(shù)及電子商務(wù)方向研究,E-mail:gao_hua@foxmail.com.
10.15923/j.cnki.cn22-1382/t.2016.4.18
TP312
A
1674-1374(2016)04-0406-05