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

圖1 NMF聚類算法的計算比測試結果
根據圖1所示信息,聚類算法加速比與物理節點數量之間具有正相關關系。在物理節點個數不斷增加的情況下,加速比會隨著節點個數的增加而增加,聚類算法加速比的增長過程并不符合嚴格意義上的線性增長,但是在物理節點個數高于32的情況下,聚類算法的加速比可以達到10.25,這一結果表明,基于YARN的數據挖掘聚類算法應用以后,同等硬件配置條件MapReduce的計算性能也有所提升。聚類算法計算比測試結果也表明YARN云平臺的數據分類可擴展性相對良好。
基于YARN云平臺的數據挖掘聚類算法的構建,有助于彌補云計算早期版本中存在的缺陷,在對NRvl技術進行優化的基礎上,此種聚類算法可以讓數據處理過程的精確度與處理效率得到提升。現階段這一技術在電信領域具有一定的應用價值,根據電信技術領域的實際情況,基于YARN云平臺的數據聚類挖掘算法在系統性能方面具有串行計算所不具有的優勢。就數據挖掘聚類算法的現狀而言,其在廣域網及因特網的應用效果還有待驗證。
[1]劉維.數據挖掘中聚類算法綜述[J].江蘇商論,2018.
[2]李俊麗,張繼福.基于屬性聚類的離群數據挖掘算法[J].中北大學學報(自然科學版),2018.
[3]陳緒,嚴金戈.混合類型數據的聚類算法綜述[J].信息與電腦(理論版),2018.
[4]李艷,張慶,田蘇慧敏.改進的數據挖掘模糊聚類算法研究與分析[J].寧夏師范學院學報,2018.