《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > AprioriTid算法的MapReduce并行化實現
AprioriTid算法的MapReduce并行化實現
(玉林師范學院 數學與信息科學學院,廣西 玉林 537000)
周國軍,梁燕紅,唐 微
摘要: 為解決AprioriTid算法對大數據執行效率不高的問題,根據Hadoop平臺的MapReduce模型,分析了AprioriTid算法的并行化方法,給出了并行化的主要步驟和Map、Reduce函數的描述。與串行的AprioriTid算法相比,并行算法利用了多個節點的計算能力,縮短了從大數據集中挖掘關聯規則的時間。對并行算法的性能進行了測試,實驗結果表明,并行AprioriTid算法具有較高的執行效率和較好的可擴展性。
Abstract:
Key words :

  摘  要: 為解決AprioriTid算法對大數據執行效率不高的問題,根據Hadoop平臺的MapReduce模型,分析了AprioriTid算法的并行化方法,給出了并行化的主要步驟和Map、Reduce函數的描述。與串行的AprioriTid算法相比,并行算法利用了多個節點的計算能力,縮短了從大數據集中挖掘關聯規則的時間。對并行算法的性能進行了測試,實驗結果表明,并行AprioriTid算法具有較高的執行效率和較好的可擴展性。

  關鍵詞: AprioriTid算法;MapReduce;Hadoop;關聯規則

0 引言

  AprioriTid算法[1]是AGRAWAL R等人提出的關聯規則挖掘算法,該算法在迭代計算頻繁k-項集的過程中使用Ck代替事務數據庫,通過逐步縮小Ck的規模來減少I/O讀取時間,進而提高算法的執行效率[2]。但是,AprioriTid算法的時間復雜度較高,對大數據而言,該算法在單機環境下的執行時間太長,難以取得較高的執行效率。云計算是解決這個問題的可行方法,由于云計算平臺具有強大的計算能力,突破了單機計算能力的限制,為用戶高效處理大數據提供了支持。MapReduce[3]是云計算環境下被廣泛采用的并行編程模型。本文根據Hadoop平臺[4]的MapReduce模型,給出了一種AprioriTid算法的并行化實現方法。并行算法利用計算機集群的多個節點并行計算候選項集的支持度,解決了單機環境下AprioriTid算法對大數據執行時間過長的問題,提高了挖掘關聯規則的效率。

1 相關知識

  1.1 AprioriTid算法分析

  AprioriTid算法是在Apriori算法[1]的基礎上改進而來的關聯規則挖掘算法,參考文獻[1]給出了該算法的描述和實例分析。AprioriTid算法計算頻繁-1項集和生成候選k-項集的方法與Apriori算法是相同的,但是在發現頻繁k-項集的過程中采用了Ck代替事務數據庫D。對于所有的候選k-項集Ck,數據庫D中的一個事務t在Ck中對應的記錄表示為:<t.TID,{c∈Ck|c contained in t}。例如:k=2,C2={{1 3},{1 4},{1 5},{3 4},{3 5},{4 5}},D的一個事務t=<100,{1 2 3 4}>,則t在中C2對應的記錄表示為<100,{{1 3},{1 4},{3 4}}>。

  AprioriTid算法計算頻繁k-項集(k≥2)的時間復雜度為O(|Ck|×|Ck-1|×|t|),其中,|t|是Ck-1的記錄包含的候選(k-1)-項集的平均個數。在一般情況下,當k的取值較小時,Ck-1的規模會大于事務數據庫的規模,算法的時間復雜度較高。可見,在單機環境下應用AprioriTid算法對大數據挖掘關聯規則難以取得較高的執行效率。在并行條件下,利用多臺計算機的處理能力能很好地解決運行效率低下的問題[5]。如果將Ck-1分解成p個子數據集,由p個節點對子數據集并行計算頻繁k-項集,則在單個節點上的時間復雜度為O(|Ck|×|Ck-1|×|t|/p),這就提高了算法的執行效率,這也是本文實現AprioriTid算法并行化的基本思想。

  1.2 Hadoop平臺的MapReduce模型

001.jpg

  MapReduce模型的基本思想是將處理的問題分解為映射和歸約操作,由用戶實現的Map和Reduce函數完成大規模的并行化計算[6]。開源的云計算平臺Hadoop實現了MapReduce模型,MapReduce任務在Hadoop平臺上的執行流程如圖1所示。數據文件被切分成多個數據分片存儲在Hadoop分布式文件系統HDFS中,在input階段,MapReduce支持庫將數據分片的記錄解析為<key,value>對輸入Map函數,Map函數對數據分片進行處理,產生一組新的<key,value>對中間結果。在shuffle階段,相同key的value值被合并為values集合,以<key,values>對傳遞給Reduce函數。Reduce函數對<key,values>集合作進一步處理,將最終結果輸出到HDFS中。

  在實際的應用中,不同的數據文件通常采用不同的記錄格式,為了將記錄解析成合適的<key,value>對,Hadoop平臺為用戶提供了TextInputFormat、KeyValueTextInputFormat等類,使用這些類可以指定輸入Map函數的key和value。在Hadoop的MapReduce模型中,執行Map函數的各個節點分別處理不同的數據分片,如果所有節點都能夠讀取相同的文件,就需要借助Hadoop的分布式緩存機制[7]。在主程序中將待分發到所有節點的文件設置為分布式緩存文件,各個節點便可以同時讀取這些文件。

2 AprioriTid算法的MapReduce并行化

  2.1 AprioriTid算法的并行化方法

  AprioriTid算法的執行過程包括兩個階段:首先從事務數據庫中找出所有頻繁1-項集L1,然后采用迭代方法計算所有頻繁k-項集Lk,每次迭代計算的輸入數據是Lk-1和Ck-1,輸出結果是Lk和Ck。按照Hadoop的MapReduce模型,結合分布式緩存機制,這兩個階段都能實現并行化,方法如下:

  (1)將事務數據庫切分成多個數據分片,多個節點并行對數據分片統計各個項的支持度計數,從而實現了L1的并行計算。

 ?。?)將Lk-1設置為分布式緩存文件,Map函數讀取Lk-1,通過執行Ck=apriori-gen(Lk-1)生成所有候選k-項集Ck,將Ck存放在節點的內存中。將Ck-1切分成多個數據分片,多個節點根據Ck對Ck-1的分片并行統計候選k-項集的支持度計數生成Ck,從而實現了Lk和Ck的并行計算。

  2.2 AprioriTid算法并行化的主要步驟

  為了便于描述,設定事務數據庫D、Ck、頻繁k-項集Lk在HDFS中的目錄分別為DPath、CPathk、LPathk。在并行算法的執行過程中,需要多個MapReduce作業(Job)才能完成,第k個Job用Jobk表示,算法并行化的主要步驟描述如下。

 ?。?)在主程序中設置Job1的輸入路徑為DPath,輸出路徑為LPath1。

 ?。?)Map函數讀取D的數據分片,將事務t的所有項ij分解出來,輸出<ij,1>鍵/值對。Reduce函數統計項ij的支持度計數count,將滿足最小支持度閾值minsup的項ij及其支持度計數輸出到LPath1目錄的文件中。Map、Reduce函數描述如下:

  map(key=TID,value=t){

  for each項ij of t

  emit(<ij,1>);

  }

  reduce(key=ij,values={1,1,…}){

  count=|values|;  //|values|是集合中1的個數

  if (count≥minsup)emit (<ij,count>);

  }

 ?。?)k=2,C1=D。

  (4)在主程序中將Lk-1設置為分布式緩存文件,設置Jobk的輸入路徑為CPathk-1,輸出路徑為LPathk。

 ?。?)在Map函數中定義setup、map和cleanup方法。setup方法讀取Lk-1,執行Ck=apriori-gen(Lk-1),初始化Ck。map方法讀取Ck-1的分片,對于分片的每一個記錄t,根據Ck計算t包含的候選k-項集集合Ct,將Ct添加到Ck中,并將Ct的每一個候選k-項集c以<c,l>鍵/值對傳遞給Reduce函數。cleanup方法將Ck保存到CPathk目錄的一個文件中。Reduce函數統計候選k-項集的支持度計數,將滿足最小支持度閾值的頻繁k-項集及其支持度計數輸出到LPathk目錄的文件中。

  Map函數描述如下:

  setup(){

  從LPathk-1目錄讀取Lk-1;

  Ck=apriori-gen(Lk-1);

  Ck=}3]}T@WSWOWB92]K}(DD02I.jpg

  }

  map(key=TID,value=t){

  Ct=}3]}T@WSWOWB92]K}(DD02I.jpg;//初始化Ct

  Ct={c∈Ck|(c-c[k])∈t.set-of-itemsets∧(c-c[k-1])∈t.set-of-itemsets};

  if(Ct≠}3]}T@WSWOWB92]K}(DD02I.jpg){

  Ck+=<TID,Ct>;

  for each 候選k-項集c∈Ct

  emit(<c,1>);

  }

  cleanup(){

  將Ck作為一個文件保存到CPathk目錄;

  }

  Reduce函數描述如下:

  reduce(key=c,values={1,1,…}){

  count=|values|;

  if(count≥minsup)emit(<c,count>);

  }

 ?。?)如果Lk=}3]}T@WSWOWB92]K}(DD02I.jpg,則算法結束;否則,k=k+1,轉向執行步驟(4)。

3 實驗與結果分析

  使用6臺配置相同的計算機和一臺100 M交換機搭建Hadoop集群,操作系統是Ubuntu Linux 12.04,安裝的軟件是Hadoop 1.2.1、JDK 1.7.0_51。從Frequent Itemset Mining Dataset Repository網站(http://fimi.ua.ac.be/data/)下載了6個數據集:chess、mushroom、pumsb_star、kosarak、retail和accidents,由于這些數據集的事務沒有TID,通過編寫程序給事務添加了從0開始順序編號的TID。

  3.1算法的執行時間測試

  使用Java實現了AprioriTid的串行算法和并行算法,使用4個數據集測試算法的執行時間。由于數據集的稠密程度不同,對這些數據集設置了不同的最小支持度,retail、kosarak、pumsb_star、chess的最小支持度閾值分別設置為0.3%、0.8%、45%、75%。

002.jpg

  在單機環境下,串行算法對retail、kosarak、pumsb_star、chess的執行時間分別為1 879 s、721 s、906 s、3 265 s。在Hadoop平臺上,并行AprioriTid算法的執行時間如圖2所示。當節點數為2時,并行算法對4個數據集的執行時間都小于串行算法的執行時間,隨著節點數的增加,并行算法的執行時間不斷減少。由此可見,并行AprioriTid算法能取得較高的執行效率。

  3.2 算法的可擴展性測試

  使用1個節點對DB規模的數據執行算法的時間表示為t1×DB,使用m個節點對m×DB規模的數據執行算法的時間表示為tm×m×DB,則算法的可擴展性[8]定義為:scaleup(DB,m)=t1×DB/tm×m×DB。

  對數據集mushroom和accidents測試并行AprioriTid算法的可擴展性。mushroom、accidents的最小支持度閾值分別設置為25%、70%,當使用m個節點時,將數據集復制m份上傳到HDFS,實驗結果如圖3所示。從實驗結果可以看出,對于兩個數據集,并行AprioriTid算法都取得了較好的可擴展性。

003.jpg

  4 結論

  AprioriTid算法是一種時間復雜度較高的關聯規則挖掘算法,在單機環境下對大數據的執行效率不高。針對這個問題,本文給出了一種AprioriTid算法的MapReduce并行化方法,該方法利用多個節點對數據分片并行計算候選項集的支持度,縮短了發現頻繁項集的時間。使用多個數據集測試了算法的性能,實驗結果表明,并行AprioriTid算法具有較高的執行效率,適合云計算環境下對大數據挖掘關聯規則。

  參考文獻

  [1] AGRAWAL R, SRIKANT R. Fast algorithms for mining association rules[C]. Proceedings of the 20th International Conference on Very Large Data Bases. Santiago,Chile, 1994: 487-499.

  [2] 向程冠,姜季春,陳梅,等.AprioriTid算法的改進[J].計算機工程與設計,2009,30(15):3581-3583.

  [3] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters[J]. Communications of the ACM, 2008,51(1):107-113.

  [4] The apache software foundation. Hadoop[EB/OL]. (2015-07-08) [2015-08-16]. http://hadoop.apache.org/.

  [5] 廖寶魁,孫雋楓.基于MapReduce的增量數據挖掘研究[J].微型機與應用,2014,33(1):67-70.

  [6] 亢麗蕓,王效岳,白如江.MapReduce原理及其主要實現平臺分析[J].現代圖書情報技術,2012(2):60-67.

  [7] CHUCK L. Hadoop實戰[M].韓冀中,譯.北京:人民郵電出版社,2011.

  [8] 楊勇,王偉.一種基于MapReduce的并行FP-growth算法[J].重慶郵電大學學報(自然科學版),2013,25(5):651-657.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲成人直播| 欧美日本网站| 在线不卡中文字幕播放| 欧美日韩日日夜夜| 免费视频久久| 久久精品综合网| 夜夜夜精品看看| 欧美韩国日本综合| 影音先锋一区| 美女91精品| 99re亚洲国产精品| 美女精品自拍一二三四| 欧美夫妇交换俱乐部在线观看| 国产欧美韩日| 日韩视频在线免费观看| 亚洲一级片在线观看| 欧美视频专区一二在线观看| 新67194成人永久网站| 久久精品av麻豆的观看方式| 欧美日韩三区| 欧美一区二区播放| 欧美日韩精品免费观看视一区二区| 国产精品女人网站| 国产九九精品视频| 欧美激情五月| 久久综合婷婷| 欧美久久精品午夜青青大伊人| 亚洲美女精品成人在线视频| 欧美视频日韩| 亚洲第一狼人社区| 欧美激情麻豆| 久久精品在线观看| 亚洲精品在线一区二区| 日韩一二三在线视频播| 久久夜色精品国产亚洲aⅴ| 国产日产欧产精品推荐色| 久久免费国产精品1| 久久精品二区亚洲w码| 亚洲高清激情| 亚洲小说欧美另类婷婷| 亚洲专区在线| 91久久国产精品91久久性色| 欧美日韩一区二区免费在线观看| 牛人盗摄一区二区三区视频| 久久精品在线视频| 亚洲一区二区三区国产| 狠狠爱www人成狠狠爱综合网| 国产午夜精品全部视频播放| 国产亚洲欧洲997久久综合| 亚洲美洲欧洲综合国产一区| 亚洲一区高清| 一本色道久久综合狠狠躁的推荐| 亚洲天堂激情| 国产免费成人在线视频| 欧美淫片网站| 亚洲精品一区二区三区不| 激情欧美一区二区| 国产一级精品aaaaa看| 欧美精品日韩一本| 影音欧美亚洲| 国产亚洲欧美日韩日本| 国产精品jvid在线观看蜜臀| 韩国v欧美v日本v亚洲v| 国产精品久久亚洲7777| 欧美精品成人91久久久久久久| 欧美系列亚洲系列| 国产精品久久久久久av下载红粉| 巨乳诱惑日韩免费av| 国产精品美女一区二区在线观看| 国产精品久久久久影院色老大| 国产精品99久久99久久久二8| 久久综合国产精品| 久久久久中文| 国产精品久久91| av成人黄色| 亚洲乱码国产乱码精品精天堂| 在线视频你懂得一区二区三区| 美国成人直播| 亚洲伦理在线| 国产欧美一区二区三区沐欲| 亚洲国产精品成人综合色在线婷婷| 欧美日韩国产不卡在线看| 亚洲美女中出| 亚洲一区二区三区久久| 男男成人高潮片免费网站| 国产精品一香蕉国产线看观看| 在线亚洲精品福利网址导航| 国产精品高清在线观看| 狠狠色丁香久久婷婷综合_中| 国产一二三精品| 久久综合伊人77777尤物| 欧美电影在线观看| 久久久久国产精品一区三寸| 99国产精品久久| 麻豆成人综合网| 国产嫩草影院久久久久| 国产精品手机视频| 亚洲黄一区二区三区| 久久aⅴ国产紧身牛仔裤| 国产真实精品久久二三区| 午夜精品999| 国产综合亚洲精品一区二| 欧美制服第一页| 国产日韩欧美综合精品| 亚洲欧美欧美一区二区三区| 欧美不卡在线| 亚洲素人在线| 国产精品久久77777| 国产精品自在欧美一区| 亚洲三级电影全部在线观看高清| 亚洲电影专区| 黄色一区二区三区| 久久久久久色| 久久久久久久999精品视频| 欧美亚洲一区在线| 你懂的视频一区二区| 亚洲永久免费| 亚洲精品久久久久久久久| 91久久国产综合久久蜜月精品| 国产精品久久久一本精品| 亚洲精品乱码久久久久久蜜桃麻豆| 在线成人欧美| 久久国产精品久久w女人spa| 欧美日韩一区二区三区在线观看免| 性伦欧美刺激片在线观看| 激情欧美亚洲| 亚洲在线一区二区| 亚洲午夜女主播在线直播| 国产精品乱码| 噜噜噜噜噜久久久久久91| 亚洲国产精品福利| 亚洲淫片在线视频| 夜夜嗨av一区二区三区免费区| 性欧美长视频| 欧美日本不卡视频| 欧美日韩精品伦理作品在线免费观看| 欧美成人蜜桃| 欧美午夜电影在线观看| 久热精品视频在线观看| 午夜精品av| 久久久亚洲国产美女国产盗摄| 亚洲国产99精品国自产| 亚洲免费观看高清完整版在线观看| 欧美成人蜜桃| 亚洲永久视频| 精品二区久久| 亚洲一区二区欧美日韩| 好吊色欧美一区二区三区视频| 在线观看欧美| 久久免费视频在线观看| 久久中文字幕导航| 国产精品久久久久国产a级| 国内精品久久久久久久影视麻豆| 欧美区在线观看| 国产精品一二三四区| 国产精品久久久久久久久婷婷| 欧美一区二区三区四区视频| 国产精品一区二区欧美| 亚洲七七久久综合桃花剧情介绍| 亚洲国产精品一区制服丝袜| 亚洲欧美另类久久久精品2019| 艳女tv在线观看国产一区| 欧美日本中文| 亚洲永久精品国产| 欧美韩日视频| 亚洲自拍偷拍麻豆| 国产精品私人影院| 欧美一区二区视频观看视频| 欧美久久久久中文字幕| 国产乱码精品一区二区三区不卡| 伊人春色精品| 在线观看欧美| 久久精品中文字幕免费mv| 欧美人成在线| 免费观看30秒视频久久| 亚洲国产精品毛片| 国产亚洲一区二区精品| 国产日韩亚洲| 国内精品一区二区| 国产精品av一区二区| 欧美mv日韩mv国产网站app| 国产日韩欧美精品| 久久综合狠狠综合久久综合88| 欧美日韩免费在线| 日韩亚洲在线观看| 国产亚洲激情视频在线| 国产女人18毛片水18精品| 久久精品免视看| 国产精品卡一卡二卡三| 亚洲天堂成人在线观看| 一本色道久久88综合日韩精品| 欧美理论电影在线播放| 国产免费成人| 亚洲欧美日韩在线高清直播| 国产精品私房写真福利视频| 久久这里只精品最新地址| 亚洲日韩欧美视频| 美脚丝袜一区二区三区在线观看| 欧美一区二区黄色| 国产精品都在这里| 国产精品高潮呻吟久久| 欧美乱在线观看| 亚洲国产精品ⅴa在线观看| 久久久激情视频| 欧美日本在线看| 欧美视频一区二区三区在线观看| 99精品国产热久久91蜜凸| 国产三区二区一区久久| 欧美一区二区三区在线播放| 免费不卡亚洲欧美| 欧美激情影院| 欧美高清自拍一区| 国产精品视频网| 欧美精品久久一区| 日韩网站在线观看| 国产亚洲精品综合一区91| 欧美影院成年免费版| 国产乱人伦精品一区二区| 欧美激情综合五月色丁香| 麻豆国产精品va在线观看不卡| 狠狠噜噜久久| 久久久精品午夜少妇| 国产欧美日韩一区二区三区在线观看| 91久久香蕉国产日韩欧美9色| 亚洲日本va午夜在线影院| 亚洲在线视频免费观看| 久久大综合网| 欧美日韩亚洲高清| 欧美岛国在线观看| 欧美日韩一区二区三区在线观看免| 国产精品一区二区在线| 国产精品国产三级国产专区53| 精品91视频| 午夜精品久久一牛影视| 激情小说另类小说亚洲欧美| 久久久www成人免费精品| 美日韩丰满少妇在线观看| 一区国产精品| 欧美 日韩 国产精品免费观看| 欧美午夜精品久久久久久久| 日韩小视频在线观看专区| 欧美 亚欧 日韩视频在线| 国产精品系列在线播放| 国产精品对白刺激久久久| 精东粉嫩av免费一区二区三区| 亚洲在线免费视频| 久久综合电影一区| 亚洲免费av电影| 欧美黄色大片网站| 久久综合久色欧美综合狠狠| 欧美激情免费观看| 欧美激情区在线播放| 久久精品国产清自在天天线| 国产精品v欧美精品v日韩| 国内不卡一区二区三区| 亚洲一区免费视频| 久久精品一区二区| 久久青青草原一区二区| 一个色综合导航| 91久久精品www人人做人人爽| 亚洲一区成人| 亚洲激情第一区| 日韩午夜av在线| 午夜在线观看免费一区| 欧美一区二区观看视频| 国产日韩欧美二区| 国产精品视频不卡| 欧美日韩国产综合视频在线观看| 欧美国产日韩在线观看| 亚洲综合精品一区二区| 国产一区二区福利| 久久综合久色欧美综合狠狠| 午夜精品电影| 午夜视频久久久久久| 在线电影欧美日韩一区二区私密| 99综合电影在线视频| 久久精品国产亚洲5555| 欧美日韩免费在线观看| 欧美日韩亚洲天堂| 亚洲一区二区三区色| 亚洲欧美日韩精品综合在线观看| 裸体歌舞表演一区二区| 影音先锋久久久| 国产美女精品| 亚洲一区在线观看视频| 免费久久99精品国产| 欧美一区二区成人| 国产精品你懂的| 国产欧美91| 免费成人在线视频网站| 亚洲日本在线视频观看| 美女图片一区二区| 国产日韩欧美成人| 亚洲毛片在线看| 激情视频一区二区三区| 国产精品久久九九| 国产精品久久影院| 欧美全黄视频| 国产精品午夜在线| 国产在线精品一区二区夜色| 亚洲一区二区三区久久| 亚洲精品视频一区| 欧美新色视频| 一区二区三区视频在线播放| 国产精品久久久久久福利一牛影视| 蜜桃av一区二区在线观看| 美女久久一区| 亚洲一级黄色片| 久久免费高清视频| 欧美日韩国产精品一区二区亚洲| 亚洲国产另类 国产精品国产免费| 一本一本久久a久久精品综合妖精| 免费久久99精品国产| 99re视频这里只有精品| 欧美日韩性视频在线| 欧美精品激情blacked18| 国产欧美 在线欧美| 国产精品人成在线观看免费| 久久成人在线| 欧美成人免费全部| 国产欧美一二三区| 美日韩在线观看| 欧美成人性生活| 欧美成人精品不卡视频在线观看| 一区二区三区高清在线| 国产亚洲精品bt天堂精选| 亚洲美女在线国产| 欧美日韩在线视频首页|