



摘要:互聯(lián)網(wǎng)領(lǐng)域蘊含著海量的數(shù)據(jù)信息,且這些信息呈現(xiàn)出多樣性以及復(fù)雜性,總體而言,可以大致將這些數(shù)據(jù)劃分成用戶行為數(shù)據(jù)和內(nèi)容數(shù)據(jù),科學(xué)精細(xì)地分析處理這些數(shù)據(jù),是強化用戶分群治理效率、內(nèi)容分類研究以及實現(xiàn)精細(xì)化運營的重要手段。但現(xiàn)階段尚無一站式的大數(shù)據(jù)聚類分析系統(tǒng)可供人們使用,因此,文章詳細(xì)分析和闡述了基于大數(shù)據(jù)平臺的聚類分析系統(tǒng)設(shè)計與實現(xiàn),以此為相關(guān)工作人員提供參考。
關(guān)鍵詞:大數(shù)據(jù);聚類分析;系統(tǒng)設(shè)計;系統(tǒng)實現(xiàn)
Design and Implementation of Cluster Analysis System for Big Data Platform
SUN Xuefeng
(Capital University of Economics and Trade, Miyun Branch, Beijing 101500, China)
Abstract: The internet field contains a vast amount of data information, which presents diversity and complexity. Overall, this data can be roughly divided into user behavior data and content data, and scientifically and meticulously analyzed and processed. It is an important means to strengthen the efficiency of user group governance, research on content classification, and achieve refined operations. However, at present, there is no one-stop big data clustering analysis system available for the public to use. Therefore, this article conducts research on this topic, analyzes and elaborates in detail on the design and implementation of clustering analysis systems based on big data platforms, in order to provide reference for relevant staff.
Key words: big data; cluster analysis; system design; system implementation
1" "大數(shù)據(jù)平臺聚類分析系統(tǒng)架構(gòu)設(shè)計
1.1 功能架構(gòu)設(shè)計
用戶聚類分析系統(tǒng)功能架構(gòu)設(shè)計首先是創(chuàng)建聚類任務(wù),根據(jù)相對應(yīng)的核心條件(比如圈人條件以及調(diào)度頻率等),待聚類任務(wù)運行完畢后創(chuàng)建cluster level數(shù)據(jù)便能夠予以可視化呈現(xiàn)。之后在可視化呈現(xiàn)的基礎(chǔ)上通過人工予以再次標(biāo)注,并予以再次聚合計算,如此便可生成tribe level指標(biāo)數(shù)據(jù)并用于用戶分析。如圖1所示[1]。
1.2 技術(shù)架構(gòu)設(shè)計
(1)前端展示:具備與用戶進(jìn)行交互的功能。用戶通過該頁面登錄進(jìn)入該聚類分析系統(tǒng),之后用戶進(jìn)行的創(chuàng)建聚類任務(wù)、查看聚類結(jié)果等相關(guān)操作行為均在該模塊范圍內(nèi)[2]。
(2)后端調(diào)度:該模塊的核心職責(zé)是響應(yīng)前端傳輸至此的全部請求,同時和數(shù)據(jù)庫、HDFS、Hive等系統(tǒng)協(xié)同合作,將全部信息內(nèi)容予以歸類整合以及權(quán)限校驗等,最后利用JSON格式傳輸回前端,再通過前端的渲染之后呈現(xiàn)至用戶的顯示設(shè)備上。
(3)算法聚類:該模塊在獲取到后端圈選完成的人群樣本之后會予以K-Means聚類分析,把接收的樣本全部根據(jù)用戶設(shè)置的K值予以聚類,再把存在一致或類似行為特點的人聚合至相同的cluster內(nèi),最后便會獲得一份極具應(yīng)用價值的離線數(shù)據(jù)信息,該信息內(nèi)容涵蓋關(guān)鍵的cluster以及user對應(yīng)關(guān)系,全部cluster分布,接著后端模塊便可通過該信息成果實施離線模式的計算,以此獲得全部cluster指標(biāo)。
(4)離線計算:該模塊在聚類結(jié)束后,會對聚類保存的內(nèi)容予以附加指標(biāo)計算,以此獲取全部cluster指標(biāo)。cluster指標(biāo)的獲取主要源于維度建模的數(shù)據(jù)庫機制,屬于極具代表性的大數(shù)據(jù)離線計算方法,其運行原理為工作流的編排方法,各個聚類任務(wù)間均能夠非間接性地配備單向依賴關(guān)系,其在觸發(fā)工作流任務(wù)計算期間還能夠根據(jù)提前設(shè)定完成的層級予以運算,以此獲取最好結(jié)果[3]。
2" "大數(shù)據(jù)平臺聚類分析系統(tǒng)的實現(xiàn)——算法聚類實現(xiàn)
2.1 算法選型
先明確目標(biāo),本文中設(shè)計的聚類分析系統(tǒng),其目標(biāo)是完成對用戶以及其他內(nèi)容的聚類分析。但需要注意的是,因公司內(nèi)部的算法部門早已對其予以算法模型性訓(xùn)練,因此多數(shù)用戶均具備64維向量結(jié)果。站在總目標(biāo)的角度分析,不僅要具備允許用戶進(jìn)行個性化設(shè)置聚類顆粒度的性能,還需呈現(xiàn)cluster演變歷程和移動變化信息。因此,根據(jù)以上重點內(nèi)容,能夠明確并篩選出最佳聚類算法時間要素(具體內(nèi)容如下),之后遵循要素進(jìn)行算法實驗,以此促成大數(shù)據(jù)平臺聚類分析系統(tǒng)性能的實現(xiàn)[4]。
2.1.1 要素一:目標(biāo)64維推薦向量在空間中的分布情況
從聚類系統(tǒng)內(nèi)目標(biāo)用戶分析需求最高的樣本群體中任意選擇了5 000位用戶,并對其64維推薦向量予以降維處理,待降至二維之后便可以觀察其分布狀態(tài)(見圖3)。各個群體間具有重復(fù)部分,這便證明差異性群體間依舊存在相似行為操作,如此就能夠?qū)⑵錃w納成大群體tribe,因此用戶推薦向量于二維空間中的分布狀態(tài)呈球狀和凸集的數(shù)據(jù)。
2.1.2 要素二:算法的復(fù)雜性、數(shù)據(jù)量及其資源的trade-off
因該聚類分析系統(tǒng)的目標(biāo)為構(gòu)建基于大數(shù)據(jù)的一站式聚類分析平臺,且聚類任務(wù)均為用戶自主選定,傳輸文件的樣本選定方法控制在最大只允許1 GB的文件予以上傳,因利用以上條件選定的樣本數(shù)量難以得到有效控制,所以待用戶精準(zhǔn)選定某范圍時,其樣本大約會有幾十萬,若條件控制并非高精度,其樣本的實際數(shù)量便會達(dá)到千萬及以上。針對此類樣本,應(yīng)有效地得到其64維推薦向量,如此便會應(yīng)用到極多機器資源(比如內(nèi)存以及CPU等)。基于此,選定和應(yīng)用的算法決不可具備極強的復(fù)雜性,否則算法便會耗費大量時間進(jìn)行擬合,同時聚類系統(tǒng)也要于相同時段對多種差異性任務(wù)予以聚類,進(jìn)而占據(jù)過多資源造成浪費[5]。
2.1.3 要素三:可理解性以及算法穩(wěn)定性
(1)可理解性:此聚類分析系統(tǒng)的目標(biāo)用戶普遍為產(chǎn)品經(jīng)理、運營以及管理人員,多數(shù)用戶早已對其要觀察監(jiān)測的對象有一定了解,但也僅限于數(shù)據(jù)樣本自身,如年齡、地域、操作系統(tǒng)的分布等。在創(chuàng)建聚類任務(wù)過程中,與算法強相關(guān)的錄入信息不可過多,盡量控制到最少,僅輸入一個聚類顆粒度也允許,如果仍需用戶再次選定相應(yīng)的數(shù)據(jù)信息,便不會對用戶快速掌握此系統(tǒng)而提供便利。
(2)算法穩(wěn)定性:此穩(wěn)定性具備雙層意義:一是指算法運行的穩(wěn)定性,即在一致性的輸入和較小差異性的資源條件下,需要在較小差異性的時間內(nèi)穩(wěn)定得出一致結(jié)果;二是指獨立聚類任務(wù)差異性周期調(diào)度instance中的cluster需不間斷地維持穩(wěn)定[6]。
2.2 算法實驗
(1)P y t h o n S k l e a r n :通過P y t h o n具備的Sklearn機器,掌握package內(nèi)具備的clustering算法邏輯思想以及應(yīng)用方法,再選擇高契合度的KMeans或MiniBatchKMeans進(jìn)行聚類。
(2)Spark Scala Mllib:通過Spark Scala內(nèi)含有的Mlib機器,有效掌握package內(nèi)具備的clustering算法邏輯思想以及應(yīng)用方法進(jìn)行聚類。Spark Yarn分布式執(zhí)行體系,其制定速度存在較大的波動性,速度值忽高忽低,且極易受到Y(jié)arn隊列資源的干擾和束縛,若Yarn隊列資源儲量足夠豐富,可顯著提升其執(zhí)行速度和穩(wěn)定性。
(3)大小數(shù)據(jù)量場景:因顧慮高資源是否充足,Spark Yarn集群資源相對稀缺,極易高干擾聚類算法的實施速度和效果,因此該處進(jìn)行了大小數(shù)據(jù)場景拆分處理。
(4)本次實驗涉及的相關(guān)數(shù)據(jù)信息:Python的本地內(nèi)存容量為276 GB,且還支持?jǐn)?shù)據(jù)量的持續(xù)增加,其向量維度為64維,聚類算法實現(xiàn)的詳細(xì)步驟見圖4所示。
3" "結(jié)束語
綜上所述,為有效設(shè)計并構(gòu)建出基于大數(shù)據(jù)的一站式聚類分析系統(tǒng),本文從聚類系統(tǒng)的功能以及技術(shù)架構(gòu)入手,詳細(xì)分析和闡述了其設(shè)計內(nèi)容,并根據(jù)三要素選定聚類分析系統(tǒng)的高匹配度聚類算法,同時還給出了實驗相關(guān)數(shù)據(jù),為用戶內(nèi)容以及其他內(nèi)容提供高效處理的平臺,同時也給該領(lǐng)域的后續(xù)研究提供參考。
參考文獻(xiàn)
[1] 龔靜,劉現(xiàn)芳.云計算中基于群體智能算法的大數(shù)據(jù)聚類挖掘[J].科技創(chuàng)新與生產(chǎn)力,2022(9):87-90.
[2] 江雪姣.基于大數(shù)據(jù)技術(shù)的網(wǎng)絡(luò)信息資源分類檢索方法[J].信息與電腦(理論版),2022,34(13):10-12.
[3] 符春.大數(shù)據(jù)平臺聚類分析系統(tǒng)的設(shè)計[J].電子技術(shù)與軟件工程,2022(13):202-205.
[4] 肖川.基于Spark的集成電路專利數(shù)據(jù)聚類分析研究與實現(xiàn)[D].南昌:南昌大學(xué),2022.
[5] 解瑩.基于大數(shù)據(jù)聚類分析的電網(wǎng)信息化運維系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程,2020(15):165-166.
[6] 翁健.基于Hadoop的IPv6網(wǎng)絡(luò)安全日志大數(shù)據(jù)的聚類分析與應(yīng)用[D].蘭州:蘭州交通大學(xué),2019.
作者簡介:孫雪峰(1980-),男,北京人,講師,博士研究生,研究方向為計算機應(yīng)用技術(shù)專業(yè)、計算機網(wǎng)絡(luò)與應(yīng)用技術(shù)、新媒體與網(wǎng)絡(luò)傳播。