◆鄧小燕 王詠梅
基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法研究
◆鄧小燕 王詠梅
(江蘇食品藥品職業(yè)技術(shù)學(xué)院 江蘇 223005)
本文主要對(duì)基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法的構(gòu)建基礎(chǔ)、構(gòu)建措施及系統(tǒng)測試等內(nèi)容進(jìn)行了分析。根據(jù)數(shù)據(jù)挖掘聚類算法的應(yīng)用效果,YARN云平臺(tái)與數(shù)據(jù)挖掘類算法之間的結(jié)合,有助于數(shù)據(jù)聚類算法運(yùn)行時(shí)間與加速比的優(yōu)化,可以讓算法在可以接受的時(shí)間范圍內(nèi)完成大數(shù)據(jù)處理。
YARN云平臺(tái);數(shù)據(jù)挖掘聚類算法;計(jì)算速度;加速比
大數(shù)據(jù)技術(shù)是傳統(tǒng)數(shù)據(jù)挖掘技術(shù)發(fā)展進(jìn)步的產(chǎn)物?;诙嗑S數(shù)據(jù)的相似性聚類是一些研究者在大數(shù)據(jù)研究領(lǐng)域所關(guān)注的內(nèi)容。隨著人工智能技術(shù)的不斷發(fā)展,聚類算法在數(shù)據(jù)挖掘領(lǐng)域的作用日漸突出。通過對(duì)聚類算法的研究現(xiàn)狀進(jìn)行分析,除基于層次的聚類算法、基于網(wǎng)格的聚類算法與基于模型的聚類算法以外,新發(fā)展的聚類算法包含有基于粒度的聚類算法、以模糊聚類、粗糙聚類為代表的不確定聚類算法及聚類集成算法等多種算法。對(duì)基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法進(jìn)行探究,有助于數(shù)據(jù)挖掘類聚類算法的優(yōu)化。
相似性聚類與數(shù)據(jù)在不同維度上的相似程度有關(guān)。一般情況下,兩個(gè)數(shù)據(jù)點(diǎn)之間的相似度可以被看作是判斷數(shù)據(jù)點(diǎn)是否歸于同一類的工具的依據(jù)。不同的數(shù)據(jù)點(diǎn)可以在相似度大于某一特定值的情況下歸屬于同一聚類[1]。矩陣方式在大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)過程中發(fā)揮著較為重要的作用。如奇異值分解問題、獨(dú)立成分分析與主成分分析等問題均可以利用線性代數(shù)中的矩陣分解方法進(jìn)行處理?;诜秦?fù)矩陣分解的聚類分析過程中獲取的數(shù)據(jù)可以代表真實(shí)的物理意義。故而隨著線性代數(shù)理論的不斷發(fā)展,高維數(shù)據(jù)相似性聚類開始得到人們的關(guān)注。
MapReduce是與大數(shù)據(jù)并行處理有關(guān)的分布式編程框架,與之相關(guān)的云計(jì)算平臺(tái)可以為TB級(jí)以上的大數(shù)據(jù)存儲(chǔ)與訪問提供支持。其在實(shí)際應(yīng)用過程中所表現(xiàn)出來的功能涉及到了以下內(nèi)容:一是大數(shù)據(jù)的劃分與調(diào)度功能;二是虛擬子任務(wù)的執(zhí)行功能與容錯(cuò)功能;三是負(fù)載均衡功能。MapReduce的編程模型由JobTracker組件和TaskTracker組件構(gòu)成,兩種組件分別發(fā)揮管理節(jié)點(diǎn)及任務(wù)執(zhí)行節(jié)點(diǎn)的作用。兩種節(jié)點(diǎn)的有機(jī)結(jié)合,可以為MapReduce的正常運(yùn)行提供保障。HDFS也在MapReduce中發(fā)揮著較為重要的作用。DataNode組件與Name組件在HDFS系統(tǒng)中發(fā)揮著較為重要的作用[2]。
根據(jù)任意兩個(gè)高維數(shù)據(jù)在各個(gè)維度上的歐幾里得距離的緊密程度,數(shù)據(jù)往往可以被劃分成多種不同的聚類。歸屬于同一聚類的數(shù)據(jù)會(huì)表現(xiàn)出相似度高的特點(diǎn)。在對(duì)此種基于相似性的數(shù)據(jù)聚類進(jìn)行分析以后,此種聚類存在著難以計(jì)算聚類模塊度及無法按照聚類內(nèi)部的相似程度進(jìn)行排序的問題。為計(jì)算高維數(shù)據(jù)之間的相似性,相關(guān)人員需要測量單一數(shù)據(jù)點(diǎn)與其他所有數(shù)據(jù)點(diǎn)之間的差異。與之相關(guān)的數(shù)據(jù)聚類任務(wù)劃分流程分為以下步驟,第一,研究者需要根據(jù)初始聚類序列將數(shù)據(jù)聚類劃分成不同的的片段,并讓不同片段對(duì)應(yīng)不同的Map任務(wù),進(jìn)而根據(jù)既定指標(biāo),對(duì)各個(gè)聚類上下文的相似性進(jìn)行計(jì)算,并利用Reduce完成聚類之間的相似性矩陣的構(gòu)建。第二,在輸入上一級(jí)聚類的相似性矩陣以后,研究者需要利用非負(fù)矩陣,分解輸出當(dāng)前對(duì)應(yīng)聚類ID的歸屬度,并要在對(duì)當(dāng)前級(jí)別下的聚類序列進(jìn)行重構(gòu)的基礎(chǔ)上,完成當(dāng)前級(jí)別下的聚類集合的輸出。第三,在完成當(dāng)前聚類的上下文重構(gòu)以后,研究者需要在研究前兩個(gè)步驟的基礎(chǔ)上,計(jì)算最終的分級(jí)聚類結(jié)果。
在應(yīng)用于數(shù)據(jù)挖掘聚類算法系統(tǒng)測試以后,YARN云平臺(tái)可以從以下方面入手,描述數(shù)據(jù)分級(jí)聚類算法:一是數(shù)據(jù)文件的存儲(chǔ)與訪問;二是虛擬資源及物力資源的分配與調(diào)度;三是任務(wù)的具體執(zhí)行及算法與客戶端的交互。一般情況下,數(shù)據(jù)文件的存儲(chǔ)功能與訪問功能與以下因素有關(guān):一是Hadoop2.0中的域名空間服務(wù)器,二是MameNotle服務(wù)器,三是DataNote數(shù)據(jù)服務(wù)器[3]。Resource Manager資源管理器與ApplicationMaster應(yīng)用程序控制器在虛擬資源分配調(diào)度與物力資源分配調(diào)度過程中發(fā)揮著較為重要的作用。根據(jù)數(shù)據(jù)分級(jí)聚類算法的運(yùn)行情況,ApplicationMaster組件不僅可以有效劃分子任務(wù),也可以發(fā)揮出監(jiān)視子任務(wù)運(yùn)行狀態(tài)的作用。NoteManager節(jié)點(diǎn)管理器與Container容器服務(wù)器在大數(shù)據(jù)處理的任務(wù)執(zhí)行過程中發(fā)揮著較為重要的作用。在YARN云平臺(tái)應(yīng)用于數(shù)據(jù)挖掘聚類算法以后,虛擬資源與物力資源對(duì)任務(wù)的具體執(zhí)行過程具有自動(dòng)化的特點(diǎn)。ApplicationMaster是處理客戶端大數(shù)據(jù)提交操作的工具。
根據(jù)云平臺(tái)數(shù)據(jù)挖掘聚類算法的特點(diǎn),YARN平臺(tái)在數(shù)據(jù)挖掘聚類算法構(gòu)建過程中的優(yōu)勢(shì)主要表現(xiàn)在以下方面:
第一,YARN平臺(tái)有助于監(jiān)視每一個(gè)Job子任務(wù)的狀態(tài)的程序得到優(yōu)化,進(jìn)而為數(shù)據(jù)挖掘聚類算法的可靠性與容錯(cuò)能力的提升提供支持。
第二,YARN云平臺(tái)可以讓更多類型的編程語言應(yīng)用于數(shù)據(jù)挖掘聚類算法建構(gòu)過程之中。數(shù)據(jù)挖掘聚類算法適用于JAYA環(huán)境,現(xiàn)階段很多算法的源代碼仍以C語言和C++語言為主,故而YARN在代碼移植方面也具有一定的優(yōu)勢(shì)。
第三,YARN有助于集群中的資源利用率的提升,進(jìn)而讓基于YARN的虛擬資源調(diào)度策略呈現(xiàn)出先進(jìn)化的特點(diǎn)。
就基于YARN云平臺(tái)的數(shù)據(jù)挖掘類算法的實(shí)現(xiàn)過程而言,HDFS在大數(shù)據(jù)存儲(chǔ)、管理過程中的應(yīng)用,是發(fā)揮算法的應(yīng)用優(yōu)勢(shì)的主要措施。根據(jù)前文論述,HDFS在實(shí)際應(yīng)用過程中具有高容錯(cuò)性與高吞吐量等多種優(yōu)勢(shì)。它可以應(yīng)用于在數(shù)百臺(tái)及數(shù)千個(gè)物理節(jié)點(diǎn)的海量數(shù)據(jù)管理過程之中YARN平臺(tái)中的Application Master組件與HDFS調(diào)度資源之間的結(jié)合,可以讓NameNode與DataNode在數(shù)據(jù)文件操作過程中的作用得到有效發(fā)揮,進(jìn)而讓數(shù)據(jù)挖掘類算法的開發(fā)難度有所降低。Application Master組件在用戶數(shù)據(jù)分級(jí)聚類任務(wù)提交與子任務(wù)劃分方面具有一定的優(yōu)勢(shì)。ResourceManager軟件多應(yīng)用于虛擬機(jī)資源的申請(qǐng)過程與分配過程。NMF算法也在數(shù)據(jù)挖掘類算法建構(gòu)過程中發(fā)揮著一定的作用。該算法的優(yōu)勢(shì)主要表現(xiàn)在了以下方面:
第一,在平臺(tái)層次方面,同MRvl等算法相比,基于YARN云平臺(tái)的數(shù)據(jù)挖掘類算法的數(shù)據(jù)處理分級(jí)聚類放慢具有一定的應(yīng)用優(yōu)勢(shì)。在彌補(bǔ)MRvl算法的缺點(diǎn)的同時(shí),這種算法也可以表現(xiàn)出搭建難度低、成本低和代碼開源化的特點(diǎn)。在與之相關(guān)的Linux操作系統(tǒng)與Yarn代碼可以免費(fèi)獲取的情況下,操作者可以利用PC機(jī)完成Hadoop集群的構(gòu)建。
第二,在應(yīng)用層次方面,基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法可以借助非負(fù)矩陣降低大數(shù)據(jù)的信息維度,也可以在確定數(shù)據(jù)分級(jí)聚類算法中的可并行處理部分的基礎(chǔ)上,對(duì)大數(shù)據(jù)中心的優(yōu)勢(shì)進(jìn)行有效發(fā)揮。故而相關(guān)人員可以在本地局域網(wǎng)中完成HDFS的部署,并在節(jié)約網(wǎng)絡(luò)帶寬的基礎(chǔ)上,提升計(jì)算速度與計(jì)算效率。
基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法可以被看作是混合類型數(shù)據(jù)聚類算法的重要組成部分。通過對(duì)混合類型數(shù)據(jù)聚類算法技術(shù)的研究現(xiàn)狀進(jìn)行分析。聚類算法不僅可以應(yīng)用于數(shù)據(jù)狀況的單獨(dú)分析過程之中,也可以在其他算法的預(yù)處理過程中得到應(yīng)用??臻g數(shù)據(jù)分析與基因分類等領(lǐng)域也是混合類型數(shù)據(jù)聚類算法的常用領(lǐng)域。以電信企業(yè)為例,該企業(yè)在長期經(jīng)營過程中,積累了大量的手機(jī)用戶行為數(shù)據(jù)。用戶撥出電話的基站信息、通話時(shí)間和通話時(shí)長等信息在手機(jī)用戶行為數(shù)據(jù)中占有一定的比重。這些數(shù)據(jù)信息可以在不同用戶之間的社交網(wǎng)絡(luò)的研究過程中得到應(yīng)用,也可以應(yīng)用于城市不同區(qū)域之間的關(guān)系與功能的研究過程之中。假設(shè)不同用戶所在的區(qū)域?yàn)榇髷?shù)據(jù)網(wǎng)絡(luò)中的節(jié)點(diǎn),則區(qū)域覆蓋的基站的數(shù)據(jù)容量可以讓該點(diǎn)擁有較高的數(shù)據(jù)維度,這些數(shù)據(jù)也具有較強(qiáng)的代表性。
在數(shù)據(jù)分級(jí)聚類方法應(yīng)用以后,研究者可以根據(jù)電信通信網(wǎng)絡(luò)的實(shí)際情況,構(gòu)建33個(gè)物理節(jié)點(diǎn)的YARN集群,上述物理節(jié)點(diǎn)均處于同一個(gè)局域網(wǎng)中。與之相關(guān)的云服務(wù)器主機(jī)內(nèi)存為8GB,云工作節(jié)點(diǎn)的CPU采用的是Intel i3處理器,處理器的內(nèi)存為4GB,物理節(jié)點(diǎn)的連接工具為局域網(wǎng)的1000MB交換機(jī)。
根據(jù)電信運(yùn)營商所提供的數(shù)據(jù)的特點(diǎn),數(shù)據(jù)文獻(xiàn)的數(shù)量為15G。在前文所述算法應(yīng)用于實(shí)際計(jì)算過程以后,算法步驟1階段的計(jì)算時(shí)間約為4h,雖然耗費(fèi)的時(shí)間相對(duì)較長,但是在實(shí)際應(yīng)用環(huán)境下,相關(guān)人員僅需要半個(gè)工作日即可完成數(shù)據(jù)處理,與之相關(guān)的并行處理過程可以滿足實(shí)際大數(shù)據(jù)處理的時(shí)間需求。與同等硬件配置的單集串行計(jì)算時(shí)間相比,基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法在計(jì)算時(shí)間方面具有一定的優(yōu)勢(shì)[4]。單集串行計(jì)算的計(jì)算時(shí)間約為30h。受通信時(shí)間的影響,并行處理過程可能已經(jīng)超過了單機(jī)的處理過程,但是其在實(shí)際應(yīng)用過程中仍然具有一定的優(yōu)勢(shì)。
集群配置不同節(jié)點(diǎn)數(shù)量條件下的算法的計(jì)算時(shí)間與加速比也是數(shù)據(jù)挖掘聚類算法測試過程中不可忽視的因素。在節(jié)點(diǎn)個(gè)數(shù)為1的情況下,算法的YARN加速比為1,YARM計(jì)算時(shí)間為135800s,MapReduce加速比為1,計(jì)算時(shí)間為150000s。在節(jié)點(diǎn)個(gè)數(shù)為4時(shí),Yarn加速比為1.68,計(jì)算時(shí)間為80833s,MapReduce加速比為1.58,計(jì)算時(shí)間為94936s;若節(jié)點(diǎn)個(gè)數(shù)為8,YARN加速比為3.77,YARN計(jì)算時(shí)間為36021s,MapReduce加速比為3.57,計(jì)算時(shí)間為42016s。在節(jié)點(diǎn)個(gè)數(shù)為16時(shí),YARN加速比為6.02,YARN計(jì)算時(shí)間為22558,MapReduce加速比為5.55,計(jì)算時(shí)間為27027s。若節(jié)點(diǎn)個(gè)數(shù)為32,YARN加速比為10.25,YARN計(jì)算時(shí)間為13250,MapReduce加速比為9.51,計(jì)算時(shí)間為15768。根據(jù)上述結(jié)果,算法累計(jì)時(shí)間的YARN計(jì)算及MapReduce運(yùn)算均與物理節(jié)點(diǎn)數(shù)量之間成負(fù)相關(guān)關(guān)系,隨著物理節(jié)點(diǎn)數(shù)量的增加,YARM計(jì)算時(shí)間與MapReduce計(jì)算時(shí)間均會(huì)表現(xiàn)出不斷下降的特點(diǎn)。圖1所示的內(nèi)容為NMF聚類算法的加速比測試結(jié)果。
圖1 NMF聚類算法的計(jì)算比測試結(jié)果
根據(jù)圖1所示信息,聚類算法加速比與物理節(jié)點(diǎn)數(shù)量之間具有正相關(guān)關(guān)系。在物理節(jié)點(diǎn)個(gè)數(shù)不斷增加的情況下,加速比會(huì)隨著節(jié)點(diǎn)個(gè)數(shù)的增加而增加,聚類算法加速比的增長過程并不符合嚴(yán)格意義上的線性增長,但是在物理節(jié)點(diǎn)個(gè)數(shù)高于32的情況下,聚類算法的加速比可以達(dá)到10.25,這一結(jié)果表明,基于YARN的數(shù)據(jù)挖掘聚類算法應(yīng)用以后,同等硬件配置條件MapReduce的計(jì)算性能也有所提升。聚類算法計(jì)算比測試結(jié)果也表明YARN云平臺(tái)的數(shù)據(jù)分類可擴(kuò)展性相對(duì)良好。
基于YARN云平臺(tái)的數(shù)據(jù)挖掘聚類算法的構(gòu)建,有助于彌補(bǔ)云計(jì)算早期版本中存在的缺陷,在對(duì)NRvl技術(shù)進(jìn)行優(yōu)化的基礎(chǔ)上,此種聚類算法可以讓數(shù)據(jù)處理過程的精確度與處理效率得到提升?,F(xiàn)階段這一技術(shù)在電信領(lǐng)域具有一定的應(yīng)用價(jià)值,根據(jù)電信技術(shù)領(lǐng)域的實(shí)際情況,基于YARN云平臺(tái)的數(shù)據(jù)聚類挖掘算法在系統(tǒng)性能方面具有串行計(jì)算所不具有的優(yōu)勢(shì)。就數(shù)據(jù)挖掘聚類算法的現(xiàn)狀而言,其在廣域網(wǎng)及因特網(wǎng)的應(yīng)用效果還有待驗(yàn)證。
[1]劉維.數(shù)據(jù)挖掘中聚類算法綜述[J].江蘇商論,2018.
[2]李俊麗,張繼福.基于屬性聚類的離群數(shù)據(jù)挖掘算法[J].中北大學(xué)學(xué)報(bào)(自然科學(xué)版),2018.
[3]陳緒,嚴(yán)金戈.混合類型數(shù)據(jù)的聚類算法綜述[J].信息與電腦(理論版),2018.
[4]李艷,張慶,田蘇慧敏.改進(jìn)的數(shù)據(jù)挖掘模糊聚類算法研究與分析[J].寧夏師范學(xué)院學(xué)報(bào),2018.