999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種YARN和Spark框架的網格聚類方法

2016-02-13 07:03:22王志剛陳名輝趙振凱
現代計算機 2016年35期

王志剛,陳名輝,趙振凱

(湖南師范大學數學與計算機學院,長沙 410081)

一種YARN和Spark框架的網格聚類方法

王志剛,陳名輝,趙振凱

(湖南師范大學數學與計算機學院,長沙 410081)

分布式計算為大數據的處理提供一種新的平臺,能有效提升算法的執行速度。在DBSCAN算法基礎上提出一種數據分網格算法,該算法將每個分區上的數據集劃分成以Eps半徑為邊長的單元格數據塊,將查找Eps鄰域的范圍縮小到數據對象的八個相鄰單元格之內,從而提高查找Eps鄰域的速度及聚類速度,具有較好的加速比和擴展率。同時還優化分區聚類合并方法。

分布式計算;DBSCAN;Spark;YARN;Tachyon

0 引言

分布式計算平臺具有易于擴展、學習、使用和部署等特點,是一種簡潔抽象的并行編程環境。用戶只需要關注解決自己的并行計算任務,而不需關注細節實現。

加州伯克利大學AMP實驗室最先推出Spark,但直到2014年才開始大幅度發展。目前,較流行運用Hadoop的MapReduce[1]實現并行數據挖掘,算法K-means和DBSCAN是其主要代表。文獻[2]提出了基于Hadoop的K-means、DBSCAN、近鄰傳播算法和譜聚類算法的MapReduce編輯模型。文獻[3]提出了DBSCAN增量聚類算法的MapReduce實現。文獻[4]提出了網格控制因子的DBSCAN聚類算法,并用MapReduce對聚類算法進行封裝,提高了算法的效率。文獻[5]利用數據分箱和網格劃分技術,通過對核心點生成無向圖后進行廣度優先搜索生成聚類,是一種效率較高的網格DBSCAN算法。文獻[6]對各個局部數據集采取不同的參數值分別進行聚類,最后合并各局部聚類結果。文獻[7]的DPDGA算法在數據劃分時利用遺傳算法獲得較優的初始聚類中心,據此中心點劃分數據集,對各局部數據集分別使用DBSCAN算法進行聚類,最后合并各局部數據集的聚類結果。文獻[8]在Spark平臺用ACURE算法實現了數據和任務同時并行。文獻[9]基于Spark平臺設計和實現了并行化的線性回歸、向量機和聚類算法。文獻[10]研究了Spark并行計算集群對于內存的使用行為。通過對Spark內存行為進行建模與分析,對Spark內存的使用進行了決策自動化以及替換策略優化。雖然針對DBSCAN算法的優化研究很多,針對Spark的研究也有,但針對Spark平臺的DBSCAN聚類算法分析目前相對較少。

本文基于HDFS+Tachyon+YARN+Spark平臺研究了DBSCAN算法,在此基礎上構建了YARN數據挖掘系統的模型結構;在基于MapReduce編程模式上,根據算法的特點采用相應的并行策略將讓算法運行到Spark分布式計算平臺上。

1 DBSCAN簡介

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是Ester Martin等人提出的一個基于密度的聚類算法。密度相連點的最大集合稱之為簇,簇可以產生任意形狀的聚類,甚至在含有噪聲的空間數據中。該算法根據給定的密度閾值(Eps和MinPts)識別一個類,Eps和MinPts分別代表半徑和在此半徑范圍內核心點至少應該含有的點的數量。以下是關于DBSCAN的一些基本定義:

●Eps鄰域:數據對象半徑為Eps內的全部空間區域;

●核心對象:如果數據對象p的Eps鄰域內的對象數大于等于MinPts值,則p是核心對象;

●噪聲對象:如果數據對象p的Eps鄰域內的對象數小于MinPts值,并且p不在其他核心對象的Eps鄰域內,則p是噪聲對象;

●直接密度可達:設在樣本集合D中,p為核心對象,如果樣本點q在p的Eps領域之內,則對象q到p直接密度可達;

●密度可達:設在樣本集合D中,給定一串樣本點p1,p2,…,pn,p=p1,q=pn,如果對象pi到pi-1直接密度可達,則對象q到p密度可達;

●密度相連:設樣本集合D中某對象o,如果o到p和q都是密度可達,則p和q密度相連。

DBSCAN聚類算法是尋找密度相連對象的最大集合。如圖1所示。

圖1 概念示意圖

算法描述:

(1)若數據集中的對象p還未被處理,標記為簇或者噪聲,若其Eps鄰域包含的對象數大于等于MinPts,則創建新簇C,并將其中的所有點放入候選集N;

(2)對候選集N中還尚未被處理的對象q,檢查其Eps鄰域,如果包含至少MinPts個數據對象,則將這些對象加入數據集N;如果q還未歸入一個簇,則將q放入數據集C;

(3)重復步驟(2),直到候選集N為空;

(4)重復步驟(1)~(3),直到數據集中的數據對象都被處理完畢。

DBSCAN算法也存在一些問題:

(1)當不使用索引時,算法的時間復雜度為O(n2),面對大數據進行聚類時,需要的內存和I/O開銷都很大。

(2)算法需要傳入Eps和MinPts全局參數且對這兩個參數敏感,它們的變化會影響聚類結果,尤其是在密度分布不均勻的情況。

(3)算法處理邊界對象時根據“先到先得”的原則決定所屬簇,這使聚類的精度受到處理順序的影響。

2 改進的并行設計

基于Spark平臺的DBSCAN算法存在數據和任務雙并行化。任務并行化由YARN平臺根據節點資源情況來自動分配。

2.1 網格劃分

網格劃分:通過在數據集中不斷查詢獲取數據對象的Eps鄰域,并返回區域中的所有對象,DBSCAN算法的時間復雜度O(n2)較大。故此,以Eps為邊長,將數據空間在X、Y兩個維度上劃分成n×m個矩形單元組成的網格,在此網格上進行聚類操作。雖然此方法表面上是將數據分片并行化,但是由于每一個矩形單元都有統計信息及相應特征,所以不僅是對數據進行分片并行化,也提高了查詢速度。

網格單元:即邊長為Eps的網格矩形單元:

如圖2所示。

圖2 DBSCAN網格

這是一個左上封閉、右下開放的矩形區間,對于邊長不足Eps的單元,按實際的邊長計算,在保證計算一致性前提下不影響計算的準確性。

鄰接網格集合:與網格單元相鄰的8個單元格所構成的矩形區域。

2.2 算法描述

算法首先獲取對象的本網格及其鄰接網格集合,如果這9個網格中的數據對象數小于MinPts,則標記數據對象為噪聲;否則繼續進行下一步的運算。基于網格單元的DBSCAN改進算法步驟如下:

(1)將空間劃分為n×m個網格單元;

(2)建立數據對象到網格單元的映射關系;

(3)查找數據集中未被標識為簇或噪聲的對象,如果p未被處理,則檢查該網格及鄰接網格共9個網格中的對象數,如果對象數大于等于MinPts,則將其標記為新簇C,并將其中的所有點放入候選集M;否則將該數據對象標記為噪聲;

(4)選取候選集M中還未被處理的對象q,檢查其鄰接網格集合,若包含的對象數大于等于MinPts,則將這些對象放入候選集M;如果q未被歸入某一個簇,則將q標記為簇C;

(5)若候選集M不為空,重復步驟(4);

(6)重復(3)~(5)步,直到所有的數據對象都被歸到了某個簇或被標記為噪聲。

2.3 聚類合并

在各分區的數據聚類之后,再對各分區上的局部簇進行聚合。此時存在兩種情況:一是兩個沒有交叉點的獨立簇,不需要對兩個簇進行操作;二是有交叉點,此時邊界點的二次聚類結果決定是否進行合并。

邊界點是指數據集中有特定意義的一類數據對象,位于一個或多個分區的邊緣地帶,可能屬于一到多個簇;但也可是歸屬性并不確定的孤立數據對象。它是不同分區簇合并的關鍵點。本文的邊界點是指在分區邊界邊長Eps區域內的點,如圖3所示。

經過聚類處理,各分區塊上的數據對象都已經打上了簇標記。不同分區塊上的簇的合并則跟各分區塊上邊界點的二次聚類結果相關。需要根據兩次簇標記的不同情況來做出不同的處理。

對于任意邊界點,在各分區內首次聚類的時候,會存在三種類型:核心、非核心和噪聲點。在進行二次聚類時,同樣可能存這三種類型的點。求兩者的笛卡爾積,得到九種組合。算法流程如圖4所示。

圖3 邊界點聚類合并示意

圖4 邊界點聚類合并流程

3 平臺的并行實現

基于YARN的Spark分布式計算平臺將大的任務劃分成若干小任務,然后分配給不同平臺執行,并依靠HDFS上的Tachyon分布式文件系統存放中間數據結果。HDFS負責存放待處理的原始數據集和聚類分析結果。并行算法運行流程如圖5所示。

在Spark平臺上,可以利用彈性分布式數據集(RDD)的Transformation和Action操作實現數據并行,RDD的mapPartition能按指定的分區方式進行數據加載,在各個分區上進行數據運算,之后對各分區的運算結果進行聚合。

Spark平臺把作業分成若干個階段,根據服務器資源情況,任務由不同的機器處理。①從Tachyon文件系統讀取數據并進行區塊劃分,將不同的點存放到不同的分區上加以標記。②分別對各分區做聚類運算,給數據點做簇標記,獲得局部聚類;提取分區邊界點,根據區塊編號做二次聚類運算,獲取邊界點的二次簇標記。③比較邊界點前后兩次簇標記,根據簇合并規則進行局部簇合并。④更新合并后的簇標記,保存結果至HDFS分布式文件系統。

4 結語

Spark是一個正在不斷發展的平臺,通過對其深入的學習和了解,能有效的運用好并行運算平臺,提升HDFS+Tachyon+YARN+Spark平臺的性能并發揮其價值,對大數據的處理將會更快更好。

圖5 基于Spark的DBSCAN

[1]王愷.基于MapReduce的聚類算法并行化研究[D].南京:南京師范大學,2014.

[2]孫雨冰.基于MapReduce化的數據聚類算法的研究、設計與應用[D].上海:華東理工大學,2013.

[3]王雅光.基于Hadoop平臺的DBSCAN算法應用研究[D].廣州:廣東工業大學,2013.

[4]羅啟福.基于云計算的DBSCAN算法研究[D].武漢:武漢理工大學,2013.

[5]張楓.基于網格的DBSCAN算法和聚類邊界技術的研究[D].鄭州:鄭州大學,2007.

[6]熊忠陽,孫思,張玉芳,王秀瓊.一種基于劃分的不同參數值的DBSCAN算法[J].計算機工程與設計,2005.

[7]孫思.利用遺傳思想進行數據劃分的DBSCAN算法研究[D].重慶:重慶大學,2005.

[8]邱榮財.基于Spark平臺的CURE算法并行化設計與應用[D].廣州:華南理工大學,2014.

[9]梁彥.基于分布式平臺Spark和YARN的數據挖掘算法的并行化研究[D].中山:中山大學,2014.

[10]馮琳.集群計算引擎Spark中的內存優化研究與實現[D].北京:清華大學,2013.

[11]遲學斌.高性能并行計算[D].武漢:華中科技大學圖書館,2007.

[12]孫吉貴,劉杰,等.聚類算法研究[J].軟件學報,2008,19(1):48-61.

[13]Pang-Ning T,Michael S,Vipin K.Introduction to Data Mining[M].Addison Wesley,2005.

[14]Michael A,Armando F,et al.Above the Clouds:A Berkeley Vew of Cloud Computing[J].Communications of the ACM,2010,53(4): 50-58.

[15]Ralf L.Google's MapReduce Programming Model-Revisited[J].Science of C Programming,2008,70(1):1-30.

[16]Oliveira B C,Gibbons J.Scala for Generic Programmers.Proceedings of Proceedings of the ACM SIGPLAN Workshop on GenericProgramming,New York,NY,USA:ACM,2008:25-36.

[17]阿斯力別克.流數據挖掘算法在金融領域的應用研究[D].廣州:華南理工大學,2012.

[18]鄭洪英.數據挖掘聚類算法的分析和應用研究[D].重慶:重慶大學,2002.

[19]徐軍莉.分布式聚類算法研究及其應用[D].南昌:南昌大學,2009.

[20]祁小麗.一種改進的快速聚類算法及并行化研究[D].蘭州:蘭州大學,2009.

[21]Barry Wilkinson,Michael Allen.并行程序設計[M].北京:機械工業出版社,2005.

[22]Wikipedia.Tachyon.https://en.wikipedia.org/wiki/Tachyon,2015.

[23]Borthakur D.HDFS Architecture Guide.Hadoop Apache Project.http://hadoop.apache.org/common/docs/current/hdfs_design.pdf, 2008.

[24]Ghemawat S,Gobioff H,Leung S T.The Google File System.Proceedings of Proceedings of the Nineteenth ACM symposium on Operating systems principles,New York,NY,USA:ACM,2003:29-43.

[25]黃曉云.基于HDFS的云存儲服務系統研究[D].大連:大連海事大學,2010.

[26]Uavilapalli V K,Murthy A C,Konar M,Shah H,Seth S,Saha B,O'Malley O,Radia S,Baldeschwieler E,Douglas C,Curino C,Agarwal S,Evans R,Graves T,Lowe J,Reed B.Apache hadoop yarn:Yet Another Resource Negotiator.In Proceedings of the 4th Annual Symposium on Cloud Computing.ACM,2013:5.

[27]董西成.Hadoop技術內幕:深入解析YARN架構設計與實現原理[M].北京:機械工業出版社,2013:153-184.

[29]Dean J,Ghemawat S.MapReduce:Simplified Data Processing on Large Clusters[J].Communications of the ACM,2008,51(1):107-113.

A Grid Clustering Method of YARN and Spark Framework

WANG Zhi-gang,CHEN Ming-hui,ZHAO Zhen-kai

(College of Math and Computer Science,Hunan Normal University,Changsha 410081)

Distributed computing for large data processing provides a new platform which can effectively improve the speed of the algorithm.Based on DBSCAN algorithm,proposes a data sub-grid algorithm,which divides the data of each partition into cell data block with Eps radius as the side length,to reduce the search for Eps neighborhood range data objects within eight adjacent cells,so as to improve the speed of Eps neighborhood search and the clustering speed,good speed ratio and extension ratio.At the same time,optimizes the partition clustering consolidation methods.

Distributed Computing;DBSCAN;Spark;YARN;Tachyon

1007-1423(2016)35-0033-05

10.3969/j.issn.1007-1423.2016.35.007

王志剛(1962-),男,湖南沅江人,教授,研究方向為軟件工程、計算機網絡

2016-11-01

2016-12-01

主站蜘蛛池模板: 青青极品在线| 亚洲69视频| 亚洲网综合| 91亚洲国产视频| 天天色综网| 国产精品极品美女自在线看免费一区二区 | 五月婷婷伊人网| 亚洲av无码牛牛影视在线二区| 欧美一级爱操视频| 日韩免费毛片视频| 99热国产这里只有精品无卡顿"| 国产真实自在自线免费精品| 日本在线欧美在线| 中国一级特黄视频| 国产视频自拍一区| 亚洲综合片| 在线免费a视频| 国产激情无码一区二区免费 | 99久久国产精品无码| 亚洲永久色| 小13箩利洗澡无码视频免费网站| 粗大猛烈进出高潮视频无码| 国产精品一区二区在线播放| 四虎亚洲国产成人久久精品| 91久久精品国产| 亚洲第一成人在线| 狠狠色丁婷婷综合久久| av无码一区二区三区在线| 久久99国产乱子伦精品免| aaa国产一级毛片| 成年网址网站在线观看| 亚洲欧州色色免费AV| 99久久精品久久久久久婷婷| 亚洲婷婷六月| 538精品在线观看| 亚洲国产精品无码AV| 少妇精品在线| 国产亚洲精品97AA片在线播放| 日本久久网站| 国产精品xxx| 老司机精品久久| 人妻无码中文字幕一区二区三区| 中文无码精品A∨在线观看不卡| 视频二区欧美| 亚洲伊人天堂| 国产经典在线观看一区| 手机精品福利在线观看| 呦女亚洲一区精品| 2020国产精品视频| 欧美日韩精品一区二区视频| 强奷白丝美女在线观看| 久久精品国产一区二区小说| 2024av在线无码中文最新| 在线va视频| 日本爱爱精品一区二区| 精品免费在线视频| 欧美日韩综合网| 亚洲综合精品香蕉久久网| 91香蕉国产亚洲一二三区| 久久久久国产一区二区| 成人福利在线视频免费观看| 精品国产毛片| 91人妻日韩人妻无码专区精品| 在线播放精品一区二区啪视频| 538国产视频| 性网站在线观看| 青青青视频91在线 | 91福利免费| 永久免费精品视频| 国产簧片免费在线播放| 中文字幕亚洲精品2页| www.狠狠| 日韩精品专区免费无码aⅴ| 亚洲日韩Av中文字幕无码| 免费一级毛片| A级全黄试看30分钟小视频| 国产精品白浆无码流出在线看| 亚洲中文精品人人永久免费| 亚洲国产日韩一区| 91成人免费观看在线观看| 色九九视频| 婷婷久久综合九色综合88|