《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Spark的改進關聯規則算法研究
基于Spark的改進關聯規則算法研究
2017年電子技術應用第6期
葉 璐,董增壽
太原科技大學 電子信息工程學院,山西 太原030024
摘要: 針對關聯規則Apriori算法在信息爆炸時代面對海量數據時,其計算周期大、算法效率低等問題,將數據以特定的數據結構進行存儲,降低數據遍歷次數;在連接操作前進行剪枝操作,并且改變剪枝操作的判定條件;同時將改進算法IApriori與基于內存的大數據并行計算處理框架Apache Spark相結合,提出了一種基于Spark的Apriori改進算法(Spark+IAprior)。實驗結果表明,Spark+IApriori算法在集群伸縮性和加速比方面都優于Apriori算法。
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.06.032
中文引用格式: 葉璐,董增壽. 基于Spark的改進關聯規則算法研究[J].電子技術應用,2017,43(6):126-129.
英文引用格式: Ye Lu,Dong Zengshou. An improved algorithm of association rules based on the Spark[J].Application of Electronic Technique,2017,43(6):126-129.
An improved algorithm of association rules based on the Spark
Ye Lu,Dong Zengshou
School of Electronic Information Engineering,Taiyuan of Science and Technology,Taiyuan 030024,China
Abstract: Association rules Apriori algorithm have problems with large calculation cycle and low algorithm efficiency faced with huge amounts of data in the era of information explosion, data in a specific storage on the data structure to reduce the data on the number of times past, pruning operation before the items self-joins and changing the terms of judgment have been adopted in the paper, and the algorithm combined with Spark computing framework, an improved algorithm based on the Spark(Spark+IApriori) can be put forward. Experimental results show that the Spark+IApriori algorithm has a good data scalability and speed ratio than Apriori.
Key words : association rules;Apriori;MapReduce;Hadoop;Spark

0 引言

    Apriori算法是關聯規則(Association rule mining)中最為經典的,隨著互聯網的發展,已經漸漸不能滿足需求。Google在2004年提出了MapReduce框架,然后基于MapReduce的Hadoop應運而生。LI N等提出了一個并行頻繁項集挖掘算法(PApriori)[1],其中Map操作計算候選項集,Reduce操作統計頻繁項集,但其需要反復執行Map操作和Reduce操作;Guo Jian等人提出了一種CMR-Apriori[2]算法,通過編碼和MapReduce對算法進行處理,但是Hadoop需要將中間結果保存到HDFS,也不支持迭代操作。UC Berkeley AMP實驗室提出了一種Spark計算框架,Spark是一個基于內存的并行計算框架,它可以大大提高實時數據處理,確保集群的高容錯性和在大數據環境下高可伸縮性[3]。Qiu Hongjian等提出了一種基于Spark RDD框架的頻繁項集挖掘(YAFIM)算法[4],實驗表明Spark的性能遠遠高于MapReduce框架,但對于候選項集過多時效果也不是很理想;RATHEE S等人提出了一個通過一代代消除候選項從而改進數據集性能的R-Apriori算法[5],相較于YAFIM算法,R-Apriori更加具有優越性;Gui Feng在分析了FP-Growth算法的基礎上,提出了DPBM算法[6],通過引入全球修剪技術極大減少候選項目集。

1 Apriori算法

    Apriori算法使用了一個簡單的數據結構,執行過程是明確的,但當事務的維度大、最小支持很小時,執行效率將下降。Apriori算法問題總結如下:

    (1)每次生成高維項集時需要掃描事務數據庫,當事務數據庫巨大時,會導致I/O的負擔重,計算周期大和算法效率低。

    (2)由頻繁項集產生候選項集的過程中都需要進行連接和剪枝操作,時間復雜度很高,算法的效率低。

    (3)算法會產生大量候選項集,直接導致計算包含大量冗余,使算法效率較低。

2 基于Spark框架的改進Apriori算法

2.1 Apriori算法改進

    對于上節提到的問題(1),改進策略是數據以特定的數據結構存儲從而減少掃描數據庫次數,本文用圖1的存儲結構。

jsj3-t1.gif

    通過使用此種數據結構,可以避免重復掃描數據庫,大大降低了時間復雜度。當統計候選集的支持度時,只需要將支持度作為Key值,然后將相應下標元素的數組做“與”操作,最后統計非零的數量即為候選集的支持度。

jsj3-gs1-4.gif

2.2 Spark+IApriori算法

    Spark本身是一個計算框架,要計算數據時,一般是從外部文件系統讀取數據, Spark本身擅長內存迭代,尤其是基于工作集的內存迭代,會非常高效。如果有分布式大數據倉庫,數據倉庫會有很多人使用,有些人可能使用同樣的作業,而執行同樣操作,在Hadoop中就需要重復的計算,而在Spark中,如果發現曾經有人完成了同樣的數據、同樣的計算,另外有人要和數據倉庫進行交互時,直接復用工作集的結果即可,可以極大地提高運算速率。Spark相比Hadoop的MapReduce的優勢在于,基于MapReduce的計算引擎通常會將中間結果輸出到磁盤中,進行存儲和容錯。Spark將執行模型抽象為有向無環圖執行計劃DAG,無須將stage中間結果輸出到HDFS中。同時,Spark在數據格式、內存布局、執行策略以及任何調度開銷上都有很好的優勢。

    在上節的基礎上,將改進算法IApriori與基于內存的大數據并行計算處理框架Apache Spark相結合,提出了一種基于Spark并行計算處理框架的Apriori改進算法(Spark+IAprior),算法流程圖如圖2。算法主要分為兩步:(1)產生本地頻繁項集;(2)產生全局頻繁項集。

jsj3-t2.gif

3 實驗

3.1 環境搭建

    由于Spark的服務部署比較繁瑣,需要手工編輯配置非常多的文件以及下載依賴包等,本實驗采用cloudera manager以GUI的方式管理CDH集群,提供向導式的安裝步驟。

    (1)實驗環境:

    處理器:Intel(R)Pentium(R)CPU 3.20 GHz;

    安裝內存RAM:16 GB;

    系統類型:64位操作系統;

    (2)環境搭建過程:

    ①本地Yum軟件源安裝Cloudera Manager 5:首先需要關閉關閉防火墻、selinux,修改/etc/selinux/config文件,然后安裝Apache httpd web服務器,下載CM資源包cm5.0.2-centos6.tar.gz,同時發布CM資源文件,移動解壓后的cm文件夾到Web目錄,并設置權限,安裝postgresql,修改客戶端配置,使其可以找到資源文件,下載CM5安裝文件cloudera-manager-installer.bin,安裝CM5,給cloudera-manager-installer.bin 添加可執行權限, 登錄CM管理頁面,使用用戶名和密碼都為admin登錄 http://localhost:7180/界面,如圖3。

jsj3-t3.gif

    ②CDH5上安裝Hive、HBase、Impala、Spark等服務:下載RPM-GPG-KEY-cloudera(這是對rpm包進行校驗的文件),所有的服務器上安裝CentOS-6.5-x86_64,并關閉防火墻、selinux、保持時間一致。保持所有的root用戶密碼一致。一個 Hadoop集群中的節點最少為3臺,本測試環境的節點為5臺保存到Web服務器的/var/www/html/redhat/cdh目錄,cm.worker.com上安裝PostgreSQL,圖4~圖6為Hive、HBase、Impala、Spark的安裝和配置圖。

jsj3-t4.gif

jsj3-t5.gif

jsj3-t6.gif

3.2 實驗結果

    實驗數據選自網站http://fimi.ua.ac.be/data/,Frequent Itemset Mining Dataset Repository,主要選取其中的T10I4D100K以及Accidents這兩個數據庫進行測試。

    算法有效性測試:在保證數據集的支持度和節點數一致的前提下,將Spark+IApriori算法分別與基于MapReduce框架下Apriori算法(MapReduce+Apriori)與基于Spark框架下的Apriori算法(Spark+Apriori)進行對比,同時尋找數據集拷貝數和算法運行時間的關系。本文根據不同數據庫設置了不同的支持度,集群采用了5個節點,其中一個作為Master節點,其余4個作為Slave節點,實驗對比結果如圖7、圖8。從圖7、圖8可以看出,隨著數據拷貝數的增大,也就是隨著數據量不斷增大,MapReduce+Apriori算法的運行時間幾乎直線上升,數據量越大,其處理速度急速下降。這是因為基于MapReduce 計算框架的Hadoop需要將中間結果保存到HDFS,并且MapReduce是分步對數據進行處理的,從圖7、圖8中可以很明顯地看出,Spark框架下的算法運行速度優于Hadoop計算框架,這是因為Spark會在內存中接近“實時”的時間完成所有數據分析,Spark的批處理速度比MapReduce快近10倍。同時從圖7、圖8也可以看出,基于Spark框架下,改進Apriori算法的運行效率也高于Apriori算法,證明Spark+IApriori算法是有效的。

jsj3-t7.gif

jsj3-t8.gif

    為了消除單一實驗中偶然誤差的影響,本文主要從下面兩個方面對Spark+IApriori算法進行評估性能:

    (1)集群的可伸縮性:在數據集的支持度和數據量一定的前提下,尋找數據集節點與算法運行時間的關系;為了測試集群的可伸縮性,本文同樣根據不同數據庫設置了不同的支持度,圖9、圖10反映了不同數據集節點與算法運行時間的關系。對于不同數據集,其算法運行時間以及下降趨勢也是不同的,這是因為對于不同的數據集,數據的橫縱向維度、局部頻繁項集大小以及設置的最小支持度minsup都會有差異。

jsj3-t9.gif

jsj3-t10.gif

    (2)集群的加速比:算法在單節點和多節點上運行時間的比值:

    jsj3-gs5.gif

其中,t1表示算法在單節點上的運行時間,ti表示作業在n個節點下的運行時間。

    在本實驗中,為了測試Spark+IApriori算法的加速比,在保持實驗其他參數一致的情況小,通過改變節點數來測試加速比,實驗結果如圖11、圖12。加速比無法呈線性的主要原因是集群間的通信時間消耗。

jsj3-t11.gif

jsj3-t12.gif

    綜上所述,Spark+IApriori算法優于基于MapReduce框架下Hadoop平臺的Apriori算法;同時在Spark 平臺下,Spark+IApriori算法在數據伸縮性和加速比方面都優于Spark框架下的Apriori算法。

4 結語

    本文在介紹關聯規則的概念以及分析Apriori算法的基礎上,發現Apriori算法存在數據量巨大時計算周期大、修剪操作計算復雜度高、產生大量不必要的候選項集等問題,為解決這些問題,對算法在數據結構以及剪枝操作進行了改進,然后結合Spark計算框架,提出了Spark+IApriori算法。實驗驗證了Spark+IApriori算法的有效性以及在集群伸縮性和加速比方面的優勢。

參考文獻

[1] LI N,ZENG L,HE Q.Parallel implementation of Apriori algorithm based on MapReduce[C].2012 13th ACM International Conference on Software Engineering, Artificial Intelligence,Networking and Parallel & Distributed Computing,IEEE Computer Society.Kyoto,Japan,2012:236-241. 

[2] Guo  Jian.Research on improved Apriori algorithm based on coding and MapReduce[C].2013 10th Web Information System and Application Conference(WISA 2013),IEEE Computer Society.Yangzhou,Jiangsu,China,2013:294-299.

[3] Gao Yanjie.Data processing with Spark technology,application and performance optimization[M].China Machine Press,2014.

[4] Qiu Hongjian,Gu Rong,Yuan Chunfeng.YAFIM:A parallel frequent item set mining algorithm with Spark[C].2014 IEEE 28th International Parallel & Distributed Processing Symposium Workshops,IEEE Computer Society.Phoenix,AZ,United states,2014:1664-1671.

[5] RATHEE S,KAUL M,KASHYAP A.R-apriori:An efficient Apriori based algorithm on Spark[C].PIKM 2015-Proceedings of the 8th Ph.D.Workshop in Information and Knowledge Management.Melbourne,VIC,Australia,2015:27-34.

[6] GUI F,MA Y,ZHANG F,et al.A distributed frequent item set mining algorithm based on Spark[C].Proceedings of the 2015 IEEE 19th International Conference on Computer Supported Cooperative Work in Design.Calabria,Italy,2015:271-275.



作者信息:

葉  璐,董增壽

(太原科技大學 電子信息工程學院,山西 太原030024)

此內容為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>
          久久精品国产99精品国产亚洲性色| 欧美精品高清视频| 99国产精品视频免费观看一公开| 影音先锋国产精品| 国产精品女人久久久久久| 欧美视频一区二区在线观看| 新片速递亚洲合集欧美合集| 国产精品www994| 久热精品视频在线观看一区| 国产精品视频免费观看| 一区二区三区成人精品| 国产一二三精品| 亚洲第一久久影院| 欧美成人精品在线播放| 久久精品夜夜夜夜久久| 亚洲日韩第九十九页| 亚洲精品在线免费观看视频| 欧美激情bt| 欧美视频官网| 国产主播一区二区三区| 国产精品嫩草影院av蜜臀| 精品成人在线| 国产老肥熟一区二区三区| 亚洲系列中文字幕| 欧美午夜宅男影院在线观看| 欧美~级网站不卡| 亚洲欧美国产高清| 亚洲精品国精品久久99热一| 国产精品美女www爽爽爽视频| 午夜亚洲性色福利视频| 国产精品成人一区二区艾草| 一区二区三区 在线观看视频| 亚洲精品国产精品国产自| 亚洲第一精品夜夜躁人人爽| 久久综合五月| 国产精品久久国产精麻豆99网站| 先锋影院在线亚洲| 亚洲一区日本| 欧美成人精品在线视频| 国产日产欧美一区| 国产精品久久久久9999高清| 亚洲欧美日本日韩| 欧美黄色一区二区| 欧美一二区视频| 欧美国产一区二区三区激情无套| 一区二区高清在线观看| 国产欧美婷婷中文| 亚洲精选成人| 国产精品极品美女粉嫩高清在线| 久久婷婷成人综合色| 久久久91精品国产一区二区精品| 欧美一级久久久久久久大片| 欧美日韩精品一二三区| 午夜一级久久| 欧美在线观看天堂一区二区三区| 一本一道久久综合狠狠老精东影业| 亚洲国产精品久久久久秋霞蜜臀| 欧美电影在线观看完整版| 中国成人黄色视屏| 欧美三级乱码| 国产精品电影在线观看| 欧美成人久久| 久久视频在线视频| 亚洲麻豆国产自偷在线| 欧美色精品天天在线观看视频| 午夜视频一区在线观看| 久久av一区二区三区亚洲| 亚洲人体大胆视频| 在线欧美日韩精品| 久久美女艺术照精彩视频福利播放| 欧美在线视频一区| 亚洲男人av电影| 麻豆精品国产91久久久久久| 欧美精品一区二区三区在线播放| 国产精品毛片va一区二区三区| 国产伦精品免费视频| 亚洲一区二区精品在线| 欧美黄色aaaa| 亚洲欧美在线x视频| 狠色狠色综合久久| 欧美午夜激情在线| 欲香欲色天天天综合和网| 国产一区二区三区在线观看视频| 亚洲尤物在线| 一区二区三区国产在线观看| 国产精品v欧美精品v日韩精品| 国产精品v欧美精品v日韩精品| 羞羞答答国产精品www一本| 一区二区三区视频在线播放| 男女精品网站| 欧美区视频在线观看| 亚洲乱码视频| 欧美日韩另类在线| 欧美日韩一区不卡| 亚洲美女少妇无套啪啪呻吟| 久久se精品一区精品二区| 9l国产精品久久久久麻豆| 欧美精品一区二区三区一线天视频| 久久精品噜噜噜成人av农村| 在线成人欧美| 国产精品美女久久久久久2018| 亚洲乱码国产乱码精品精可以看| 免费成人高清在线视频| 欧美亚洲网站| 欧美寡妇偷汉性猛交| 亚洲国产一区二区精品专区| 欧美va亚洲va香蕉在线| 久久精品人人做人人爽电影蜜月| 亚洲欧美日本视频在线观看| 午夜精品av| 亚洲精品久久视频| 欧美日本国产一区| 亚洲国产精品传媒在线观看| 国产农村妇女精品一二区| 欧美一区三区三区高中清蜜桃| 国产精品美女午夜av| 欧美黄色成人网| 亚洲婷婷在线| 久久久久久久久久久久久女国产乱| 欧美一区二区三区四区夜夜大片| 欧美日韩国产精品| 精品粉嫩aⅴ一区二区三区四区| 国产精品久久9| 国产精品海角社区在线观看| 国产精品九色蝌蚪自拍| 国产一区二区三区直播精品电影| 亚洲视频网站在线观看| 国外成人在线视频网站| 欧美a级在线| 精品电影一区| 黄色成人免费观看| 久久人人看视频| 亚洲一区二区三区成人在线视频精品| 亚洲视频一区在线| 久久夜色撩人精品| 亚洲视频在线播放| 欧美日韩一区二区在线播放| 欧美四级在线观看| 亚洲欧美在线一区二区| 亚洲国产视频a| 欧美色图五月天| 欧美激情中文不卡| 一区二区三区你懂的| 国产女同一区二区| 欧美视频导航| 99国产精品久久久久久久成人热| 国模精品娜娜一二三区| 在线国产欧美| 韩国精品主播一区二区在线观看| 亚洲欧美日韩国产综合精品二区| 亚洲尤物在线| 欧美天堂亚洲电影院在线播放| 欧美在线一级va免费观看| 美日韩精品视频| 亚洲一区二区三区高清| 国产日韩亚洲欧美精品| 欧美成人免费播放| 国产精品一区视频| 性8sex亚洲区入口| 亚洲社区在线观看| 国产精品久久久久久av下载红粉| 亚洲一区制服诱惑| 国产精品久久久久久久久果冻传媒| 日韩网站在线| 亚洲精品乱码视频| 欧美一区激情视频在线观看| 亚洲丝袜av一区| 午夜在线电影亚洲一区| 欧美女同在线视频| 久久婷婷麻豆| 麻豆av一区二区三区久久| 国产精品美女主播在线观看纯欲| 日韩视频―中文字幕| 欧美日韩高清在线观看| 欧美激情一区在线观看| 亚洲日本欧美天堂| 欧美精品一区三区在线观看| 亚洲另类在线一区| 国产欧亚日韩视频| 麻豆免费精品视频| 久久综合综合久久综合| 美女被久久久| 国产精品爱久久久久久久| 亚洲人成在线播放| 亚洲精品麻豆| 亚洲一区二区在线视频| 激情综合自拍| 亚洲精品日韩在线观看| 国产精品免费一区豆花| 午夜一区二区三区在线观看| 亚洲——在线| 欧美午夜精品久久久久久浪潮| 国产精品美女视频网站| 欧美日韩亚洲91| 国产欧美一区二区精品秋霞影院| 欧美日韩一级大片网址| 久久久水蜜桃av免费网站| 狠狠色丁香婷婷综合| 亚洲一区二区在线观看视频| 在线电影院国产精品| 亚洲图片在线观看| 欧美在线一二三| 99国产精品久久久久久久久久| 国产精品高潮呻吟久久av无限| 亚洲九九精品| 亚洲毛片在线观看| 亚洲国产日韩欧美综合久久| 久久久久91| 国产一区二区三区免费在线观看| 国产乱码精品一区二区三区忘忧草| 日韩亚洲综合在线| 亚洲视频一二| 亚洲网站在线| 激情文学一区| 国产精品久久久久久久久久久久久| 在线免费不卡视频| 国产精品入口| 久久一区亚洲| 久久精品男女| 欧美午夜寂寞影院| 亚洲第一精品久久忘忧草社区| 一本色道久久综合狠狠躁篇的优点| 激情综合色丁香一区二区| 国内精品伊人久久久久av一坑| 国产精品一区二区久久精品| 亚洲国产另类久久久精品极度| 久久精品国产欧美亚洲人人爽| 卡通动漫国产精品| 羞羞答答国产精品www一本| 亚洲高清视频的网址| 欧美中文字幕视频在线观看| 中文国产成人精品久久一| 老司机免费视频一区二区三区| 久久久久久夜精品精品免费| 亚洲东热激情| 亚洲女爱视频在线| 亚洲级视频在线观看免费1级| 久久精品视频在线| 久久久久久久97| 怡红院av一区二区三区| 国产一区二区久久精品| 国产一区免费视频| 亚洲精品乱码久久久久久日本蜜臀| 久久久一区二区三区| 欧美日韩亚洲一区二区| 亚洲精品中文字幕女同| 亚洲国产日韩欧美综合久久| 亚洲国产另类精品专区| 久久永久免费| 国内精品写真在线观看| 欧美一区二区性| 欧美fxxxxxx另类| 欧美午夜免费影院| 久久国产精品久久久久久电车| 国产精品自在欧美一区| 有码中文亚洲精品| 欧美激情片在线观看| 国产精品丝袜白浆摸在线| 亚洲国产一区二区视频| 91久久黄色| 精品96久久久久久中文字幕无| 国产精品一二三四| 91久久国产综合久久蜜月精品| 你懂的一区二区| 欧美亚洲综合另类| 欧美视频在线观看| 国产精品亚洲激情| 亚洲国产一区视频| 一本色道久久综合亚洲精品高清| 一区二区三区导航| 久久在线播放| 久久精品国产2020观看福利| 一二三区精品| 欧美日韩在线三区| 国产情侣一区| 老巨人导航500精品| 亚洲国产日韩欧美综合久久| 性做久久久久久免费观看欧美| 国产精品一区二区三区免费观看| 亚洲欧美激情一区二区| 亚洲国产欧美一区二区三区同亚洲| 黄色成人片子| 亚洲人成网站999久久久综合| 国产精品国产三级国产专区53| 亚洲人成久久| 影音先锋久久精品| 久久精品一本久久99精品| 久久天天躁夜夜躁狠狠躁2022| 欧美性猛交一区二区三区精品| 国产精品一区二区男女羞羞无遮挡| 中文日韩在线视频| 欧美有码在线视频| 在线观看亚洲视频| 亚洲婷婷免费| 极品日韩av| 亚洲精品国偷自产在线99热| 午夜精品区一区二区三| 国产午夜亚洲精品理论片色戒| 国产精品亚发布| 亚洲国产成人av好男人在线观看| av不卡免费看| 亚洲精品国产精品国自产观看浪潮| 亚洲精品国产精品国自产观看浪潮| 在线观看日韩av| 久久综合色综合88| 在线观看一区二区视频| 国产精品久久久一区二区| 久久精品麻豆| 在线天堂一区av电影| 欧美国产精品中文字幕| 欧美在线一区二区三区| 在线欧美日韩精品| 国产一区二区三区在线观看免费| 亚洲成色精品| 欧美一区二区三区在线播放| 黄色综合网站| 亚洲美女色禁图| 欧美ed2k| 伊人成人开心激情综合网| 国产视频欧美视频| 欧美在线首页| 欧美亚州在线观看| 亚洲婷婷综合久久一本伊一区| 欧美一区二区视频免费观看| 欧美午夜不卡影院在线观看完整版免费| 久久精品国产96久久久香蕉| 国产日韩视频| 国产精品乱码久久久久久|