《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于改進(jìn)SALS算法的大數(shù)據(jù)挖掘效率優(yōu)化探究
基于改進(jìn)SALS算法的大數(shù)據(jù)挖掘效率優(yōu)化探究
2015年微型機(jī)與應(yīng)用第12期
黃少卿,胡立強(qiáng)
(中國(guó)移動(dòng)通信集團(tuán)設(shè)計(jì)院有限公司 河北分公司,河北 石家莊 050021)
摘要: 移動(dòng)互聯(lián)網(wǎng)時(shí)代,各類移動(dòng)網(wǎng)絡(luò)終端的使用在為移動(dòng)用戶帶來(lái)便利的同時(shí),也為運(yùn)營(yíng)商提供了海量的可供挖掘數(shù)據(jù)來(lái)源。運(yùn)用大數(shù)據(jù)技術(shù)對(duì)非結(jié)構(gòu)、半結(jié)構(gòu)、結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,可以有效提高挖掘效率,幫助運(yùn)營(yíng)商找到潛在商機(jī)、提升用戶體驗(yàn)、進(jìn)行精確營(yíng)銷。針對(duì)大數(shù)據(jù)挖掘中存在的效率問題,提出了基于改進(jìn)SALS算法的Hadoop推測(cè)調(diào)度,從而減少異構(gòu)環(huán)境下的資源浪費(fèi),提高大數(shù)據(jù)挖掘效率。
Abstract:
Key words :

  摘  要: 移動(dòng)互聯(lián)網(wǎng)時(shí)代,各類移動(dòng)網(wǎng)絡(luò)終端的使用在為移動(dòng)用戶帶來(lái)便利的同時(shí),也為運(yùn)營(yíng)商提供了海量的可供挖掘數(shù)據(jù)來(lái)源。運(yùn)用大數(shù)據(jù)技術(shù)對(duì)非結(jié)構(gòu)、半結(jié)構(gòu)、結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘,可以有效提高挖掘效率,幫助運(yùn)營(yíng)商找到潛在商機(jī)、提升用戶體驗(yàn)、進(jìn)行精確營(yíng)銷。針對(duì)大數(shù)據(jù)挖掘中存在的效率問題,提出了基于改進(jìn)SALS算法的Hadoop推測(cè)調(diào)度,從而減少異構(gòu)環(huán)境下的資源浪費(fèi),提高大數(shù)據(jù)挖掘效率。
  關(guān)鍵詞: 大數(shù)據(jù)挖掘;Hadoop;推測(cè)調(diào)度;SALS

0 引言
  移動(dòng)互聯(lián)網(wǎng)時(shí)代,隨著3G/4G的普及,網(wǎng)絡(luò)建設(shè)速度的加快,以及大規(guī)模的數(shù)碼設(shè)備的使用,移動(dòng)運(yùn)營(yíng)商業(yè)務(wù)和數(shù)據(jù)規(guī)模的擴(kuò)張呈幾何級(jí)增長(zhǎng)[1]。以某省的基本數(shù)據(jù)量為例,其語(yǔ)音通話記錄每天入庫(kù)2.5 TB,SMS話單記錄每天入庫(kù)800 GB以上,MC口信令數(shù)據(jù)每天20 TB,GN口信令數(shù)據(jù)每天8 TB,警告、性能等數(shù)據(jù)每天約3 TB。再計(jì)算通過機(jī)器設(shè)備、服務(wù)器、軟件自動(dòng)產(chǎn)生的各類非人機(jī)會(huì)話數(shù)據(jù),以非結(jié)構(gòu)和半結(jié)構(gòu)化形式呈現(xiàn)的數(shù)據(jù)已經(jīng)遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)關(guān)系型數(shù)據(jù)處理的能力范疇。
  傳統(tǒng)的RDBMS可以處理結(jié)構(gòu)化數(shù)據(jù),其缺點(diǎn)是系統(tǒng)孤立、處理數(shù)據(jù)量小,面對(duì)移動(dòng)互聯(lián)網(wǎng)時(shí)代數(shù)據(jù)暴增的特點(diǎn),IT系統(tǒng)的可擴(kuò)展性、成本控制、數(shù)據(jù)有效性挖掘均需要通過低成本的通用設(shè)備,通過構(gòu)建“池化資源”并結(jié)合“大數(shù)據(jù)挖掘”能力來(lái)推進(jìn)業(yè)務(wù)進(jìn)展。
  池化資源指通過運(yùn)用虛擬化技術(shù),將單個(gè)物理機(jī)器資源進(jìn)行分割或者將多臺(tái)物理機(jī)器資源進(jìn)行整合,充分利用物理機(jī)的處理能力,實(shí)現(xiàn)物理機(jī)的高效分配和利用[2]。大數(shù)據(jù)挖掘則針對(duì)具有4 V特點(diǎn)的海量數(shù)據(jù)進(jìn)行壓縮、去重、整理、交叉分析和對(duì)比,并結(jié)合關(guān)聯(lián)、聚合等傳統(tǒng)數(shù)據(jù)挖掘技術(shù)對(duì)非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行分析[3]。本文通過對(duì)現(xiàn)有大數(shù)據(jù)挖掘技術(shù)的分析比對(duì),就其中涉及的數(shù)據(jù)查詢的可優(yōu)化部分進(jìn)行深入討論。
1 現(xiàn)行的大數(shù)據(jù)挖掘技術(shù)
  自大數(shù)據(jù)概念誕生以來(lái),陸續(xù)出現(xiàn)了多種大數(shù)據(jù)挖掘處理技術(shù),如果以處理的實(shí)時(shí)性來(lái)分類,可以將大數(shù)據(jù)挖掘處理技術(shù)分為兩類:實(shí)時(shí)類處理技術(shù)和批處理技術(shù)。實(shí)時(shí)類大數(shù)據(jù)挖掘處理技術(shù)有Storm、S4[4]等,而批處理技術(shù)或者稱為線下處理技術(shù)的典型代表則是MapReduce。對(duì)于移動(dòng)運(yùn)營(yíng)商來(lái)講,實(shí)時(shí)處理能力固然重要,但是通過大批量的線下數(shù)據(jù)處理找到潛在的商業(yè)契機(jī)、提升用戶體驗(yàn)、實(shí)施決策分析、精準(zhǔn)營(yíng)銷推薦、運(yùn)營(yíng)效能提升、創(chuàng)新商業(yè)模式等對(duì)于運(yùn)營(yíng)商來(lái)說(shuō)更為重要。本文關(guān)注大數(shù)據(jù)批處理中現(xiàn)有技術(shù)的性能提升。
  1.1 MPP架構(gòu)新型數(shù)據(jù)庫(kù)技術(shù)
  MPP(Massive Parallel Processing)從構(gòu)成上來(lái)講,是由多個(gè)SMP服務(wù)器橫向擴(kuò)展組成的分布式服務(wù)器集群[5]。但MPP架構(gòu)并不是一種池化資源的大數(shù)據(jù)處理架構(gòu),集群中的每個(gè)節(jié)點(diǎn)均可訪問本地資源,采用Share Nothing結(jié)構(gòu),集群節(jié)點(diǎn)之間并不存在共享及互訪問的問題,而是通過統(tǒng)一的互聯(lián)模塊來(lái)調(diào)度、平衡節(jié)點(diǎn)負(fù)載和并行處理過程。其架構(gòu)如圖1所示。

Image 001.png

  1.2 大數(shù)據(jù)一體機(jī)
  大數(shù)據(jù)一體機(jī)是商業(yè)公司專門為處理大數(shù)據(jù)而設(shè)計(jì)的軟硬件一體機(jī),由集成服務(wù)器、存儲(chǔ)、操作系統(tǒng)、數(shù)據(jù)庫(kù)軟件、其他數(shù)據(jù)分析軟件等統(tǒng)一封裝在機(jī)箱內(nèi),經(jīng)過運(yùn)營(yíng)商對(duì)數(shù)據(jù)處理流程進(jìn)行優(yōu)化,從而形成高性能的大數(shù)據(jù)處理能力。
  1.3 Hadoop開源大數(shù)據(jù)技術(shù)
  Hadoop技術(shù)框架是以MapReduce為核心的一個(gè)開源大數(shù)據(jù)處理框架,其架構(gòu)如圖2所示。其中,最底層的HDFS為分布式文件系統(tǒng),底層使用廉價(jià)x86進(jìn)行冗余備份;MapReduce分為map、shuffle和reduce階段[6],map階段對(duì)處理數(shù)據(jù)進(jìn)行分解映射,分開處理,shuffle階段拽取map階段數(shù)據(jù)到reduce端,reduce階段對(duì)處理子集進(jìn)行歸約合并,得到處理結(jié)果;HBase不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù),是一種基于列的分布式數(shù)據(jù)庫(kù)。

Image 002.png

  1.4 小結(jié)
  三種大數(shù)據(jù)挖掘處理技術(shù)各有特點(diǎn),綜合比較如下:根據(jù)CAP理論,在兼顧分區(qū)性、一致性和分區(qū)可容忍性的情況下,MPP擴(kuò)展能力有限,目前最多可以橫向擴(kuò)展至500個(gè)節(jié)點(diǎn),并且MPP成本較高,以處理結(jié)構(gòu)性重要數(shù)據(jù)為主。大數(shù)據(jù)一體機(jī)環(huán)境封閉,例如Oracle的ExtData,技術(shù)實(shí)現(xiàn)細(xì)節(jié)不清晰,在處理性能上難以做出橫向?qū)Ρ?,且成本高,這里暫不做討論。Hadoop以處理非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)為主,橫向擴(kuò)展能力達(dá)到    1 000個(gè)節(jié)點(diǎn)以上,并且支持廠家和社區(qū)龐大,成本低廉,是一項(xiàng)較好的大數(shù)據(jù)挖掘框架技術(shù)。
  2 現(xiàn)行的Hadoop推測(cè)調(diào)度對(duì)大數(shù)據(jù)挖掘的影響
  采用Hadoop開源框架進(jìn)行大數(shù)據(jù)挖掘,具有較多的便利條件:Hive的使用可以簡(jiǎn)化數(shù)據(jù)挖掘程序的編寫,只需要掌握普通SQL操作即可進(jìn)行程序編寫;基于HDFS和MapReduce的分布式特點(diǎn),數(shù)據(jù)挖掘任務(wù)可以在多臺(tái)機(jī)器、不限地域的情況下實(shí)施,縮短了挖掘時(shí)間,提高了挖掘效率。但是,Hadoop對(duì)分布式任務(wù)進(jìn)行推測(cè)調(diào)度的算法上存在效率問題[7],下面對(duì)該調(diào)度進(jìn)行概要分析。
 ?。?)為防止任務(wù)因機(jī)器故障、程序意外中斷引起的任務(wù)執(zhí)行時(shí)間過長(zhǎng),Hadoop啟用了推測(cè)調(diào)度,即啟用新節(jié)點(diǎn)對(duì)卡殼任務(wù)進(jìn)行重新執(zhí)行;
  (2)對(duì)于每一個(gè)運(yùn)行在節(jié)點(diǎn)上的Task,其執(zhí)行剩余時(shí)間=(1-當(dāng)前進(jìn)度)/任務(wù)平均計(jì)算速度,其中任務(wù)平均計(jì)算速度=當(dāng)前進(jìn)度/執(zhí)行時(shí)間;
 ?。?)根據(jù)(2)對(duì)所有Task執(zhí)行剩余時(shí)間進(jìn)行排序,選出最大的Task,若其平均計(jì)算速度<其他任務(wù)平均速度,則對(duì)該任務(wù)進(jìn)行推測(cè),啟用新節(jié)點(diǎn)執(zhí)行該節(jié)點(diǎn)的任務(wù);
 ?。?)當(dāng)推測(cè)節(jié)點(diǎn)任務(wù)執(zhí)行完畢后,強(qiáng)制結(jié)束執(zhí)行同任務(wù)節(jié)點(diǎn)進(jìn)程。
  上述過程在同構(gòu)環(huán)境且多任務(wù)運(yùn)行的情況下,可以一定程度地避免硬件故障及程序bug對(duì)整個(gè)MapReduce的影響。但其存在如下可能的推測(cè)調(diào)度缺陷:(1)由于啟動(dòng)新節(jié)點(diǎn)重復(fù)執(zhí)行某任務(wù),會(huì)造成同時(shí)存在兩個(gè)以上節(jié)點(diǎn)執(zhí)行同樣任務(wù),造成資源浪費(fèi);(2)當(dāng)在異構(gòu)環(huán)境下(硬件機(jī)器廠商不同、運(yùn)行操作系統(tǒng)差異、機(jī)器性能差異等),任務(wù)節(jié)點(diǎn)的資源性能并不等同,以上述標(biāo)準(zhǔn)判斷是否需要啟動(dòng)推測(cè)調(diào)度,會(huì)出現(xiàn)較大誤差,形成無(wú)效的調(diào)度,從而使新任務(wù)得不到節(jié)點(diǎn)來(lái)執(zhí)行任務(wù);(3)Hadoop針對(duì)Reduce階段任務(wù)劃分為復(fù)制、排序、歸并,并規(guī)定每一階段占據(jù)1/3進(jìn)度;然而,統(tǒng)計(jì)表明,復(fù)制階段最消耗時(shí)間和資源,明顯存在不合理調(diào)度。
  針對(duì)這些問題,本文在SALS算法基礎(chǔ)上進(jìn)行改進(jìn),從而提高Hadoop的推測(cè)調(diào)度效率,減少重復(fù)任務(wù),加快MapReduce的執(zhí)行。
3 采用改進(jìn)SALS算法對(duì)Hadoop推測(cè)調(diào)度調(diào)優(yōu)
  SALS算法原本用于鄰近節(jié)點(diǎn)搜索,首先確定節(jié)點(diǎn)集合,然后根據(jù)權(quán)重與節(jié)點(diǎn)間舉例建立聯(lián)系圖。這里,選取節(jié)點(diǎn)集合節(jié)點(diǎn)的判定,在第二階段根據(jù)Hadoop的推測(cè)調(diào)度進(jìn)行修改。
  (1)對(duì)所有運(yùn)行Task節(jié)點(diǎn)進(jìn)行排隊(duì),形成TaskQueue,該隊(duì)列保存Slave節(jié)點(diǎn)任務(wù)的索引,以節(jié)省空間;
  (2)根據(jù)歷史平均速率,對(duì)空閑節(jié)點(diǎn)進(jìn)行排隊(duì),速率高節(jié)點(diǎn)在隊(duì)列頭部,從未運(yùn)行過節(jié)點(diǎn)速率為所有空閑節(jié)點(diǎn)平均速率,插入到隊(duì)列中,形成FreeQueue;
 ?。?)對(duì)TaskQueue進(jìn)行動(dòng)態(tài)排隊(duì),每1分鐘1次,并對(duì)隊(duì)尾節(jié)點(diǎn)進(jìn)行判定:
 ?。╝)運(yùn)行時(shí)間超過其他節(jié)點(diǎn)運(yùn)行時(shí)間的1.5倍;
 ?。╞)若為非Reduce任務(wù),任務(wù)進(jìn)度與上次更新差別在10%以內(nèi);
  (c)若為Reduce任務(wù),根據(jù)shuffle數(shù)據(jù)量更新進(jìn)度,任務(wù)進(jìn)度與上次更新差別在10%以內(nèi)。
 ?。?)符合(3)-(a)且符合(3)-(b)或(3)-(c)時(shí),對(duì)隊(duì)尾任務(wù)啟動(dòng)新節(jié)點(diǎn)進(jìn)行執(zhí)行,立即結(jié)束當(dāng)前節(jié)點(diǎn)并做標(biāo)記,形成BugQueue以備檢查節(jié)點(diǎn)狀態(tài)。
4 實(shí)驗(yàn)驗(yàn)證
  為檢驗(yàn)上述算法的有效性,啟用1臺(tái)機(jī)器作為主節(jié)點(diǎn)(2 GB內(nèi)存,80 GB存儲(chǔ),Ubuntu OS),4臺(tái)機(jī)器作為從屬節(jié)點(diǎn)(分別為1 GB、256 MB、256 MB、512 MB內(nèi)存,兩個(gè)Ubuntu OS,兩個(gè)Red Hat OS)進(jìn)行試驗(yàn)。先后部署Hadoop環(huán)境和改進(jìn)推測(cè)調(diào)度的Hadoop環(huán)境進(jìn)行驗(yàn)證,結(jié)果如圖3所示。

Image 003.png

  實(shí)驗(yàn)表明,基于改進(jìn)的SALS推測(cè)調(diào)度相較于基礎(chǔ)Hadoop推測(cè)調(diào)度能提高40%左右的時(shí)間,達(dá)到了改進(jìn)目的。采用該改進(jìn)的SALS算法后,可以減少重復(fù)任務(wù)的執(zhí)行數(shù)量并及時(shí)釋放可能存在問題的節(jié)點(diǎn)以備檢查。合理更新Reduce任務(wù)進(jìn)度,減少出現(xiàn)活躍任務(wù)節(jié)點(diǎn)被關(guān)閉現(xiàn)象。加強(qiáng)推測(cè)調(diào)度的準(zhǔn)確性,對(duì)節(jié)點(diǎn)資源進(jìn)行高效利用,提高了大數(shù)據(jù)挖掘的效率。
5 結(jié)論
  移動(dòng)互聯(lián)網(wǎng)時(shí)代,大數(shù)據(jù)技術(shù)在數(shù)據(jù)挖掘方面所起的作用越來(lái)越重要。針對(duì)其中可以優(yōu)化改進(jìn)的流程和技術(shù)環(huán)節(jié)還有許多可以深究之處?;诟倪M(jìn)的SALS算法優(yōu)化的推測(cè)調(diào)度,在流程方面優(yōu)化了大數(shù)據(jù)挖掘,提高了Hadoop推測(cè)調(diào)度的準(zhǔn)確性和有效性。除此之外,大數(shù)據(jù)查詢優(yōu)化、大數(shù)據(jù)不同架構(gòu)之間的融合使用等均值得進(jìn)一步研究。
  參考文獻(xiàn)
  [1] 馬建光,姜巍.大數(shù)據(jù)的概念、特征及其應(yīng)用[J].國(guó)防科技,2013,34(2):10-17.
  [2] 葛中澤,夏小翔.基于資源池的數(shù)據(jù)訪問模式的探討[J].科學(xué)技術(shù)與工程,2012,12(33):9066-9060.
  [3] 吉根林,趙斌.面向大數(shù)據(jù)的時(shí)空數(shù)據(jù)挖掘綜述[J].南京師大學(xué)報(bào),2014,37(1):1-7.
  [4] 孫朝華.基于Storm的數(shù)據(jù)分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
  [5] 辛晃,易興輝,陳震宇.基于Hadoop+MPP架構(gòu)的電信運(yùn)營(yíng)商網(wǎng)絡(luò)數(shù)據(jù)共享平臺(tái)研究[J].電信科學(xué),2014(4):135-145.
  [6] 張常淳.基于MapReduce的大數(shù)據(jù)連接算法的設(shè)計(jì)與優(yōu)化[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2014.
  [7] 周揚(yáng).Hadoop平臺(tái)下調(diào)度算法和下載機(jī)制的優(yōu)化[D].長(zhǎng)沙:中南大學(xué),2012.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 亚洲rct中文字幕在线 | 免费一级特黄欧美大片久久网 | 在线看国产精品 | 激情综合网五月 | 黑人精品videossex黑人 | 就爱啪啪手机版 | 亚洲第一欧美 | 欧美日韩a级a | 天天插综合 | 国产成人精品无缓存在线播放 | 五月网| 欧美激情一区二区三级高清视频 | 五月综合激情网 | 福利精品视频 | 免费看欧美一级片 | 亚洲高清一区二区三区久久 | 黄色国产精品 | 亚洲区精品久久一区二区三区 | 六度国产福利午夜视频黄瓜视频 | 美女黑丝网站 | 高清一级做a爱过程不卡视频 | 动漫成年美女黄漫网站在线看 | 日韩毛片高清免费 | 国产成人免费影片在线观看 | 蜜臀91精品国产高清在线观看 | 国产精品成人在线 | 丝袜足控免费软件xx | 18勿进色禁网站永久免费 | 看黄色一级视频 | 欧美性猛交一区二区三区精品 | 国产视频一区二区三区四区 | 青青青青青青草 | 久久亚洲国产的中文 | 婷婷丁香色 | 欧美人妖xxx | 韩国三级伦理片床在线播放 | 色老头永久免费网站 | 无遮挡1000部拍拍拍免费观看 | 欧美高清视频手机在在线 | 护士bd | 你懂的国产高清在线播放视频 |