資源描述:
《基于spark的分布式頻繁項集挖掘算法研究》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于Spark的分布式頻繁項集挖掘算法研究-->第一章緒論1.1課題研究背景與意義隨著信息化時代的發(fā)展,人類的社會生產(chǎn)活動產(chǎn)生了大量有用的數(shù)據(jù),尤其是隨著數(shù)據(jù)庫的發(fā)展和互聯(lián)網(wǎng)時代的到來,導(dǎo)致了海量數(shù)據(jù)的產(chǎn)生。在這些海量數(shù)據(jù)里,隱含著有價值或有潛力的信息。快速地從這些海量數(shù)據(jù)中提取有用的信息,以輔助上層決策,對國家和企業(yè)來說,都是很有意義的。有了這些信息,決策者們再也不用像以前那樣光靠經(jīng)驗來做決策,而是多了一個可靠的參考信息。所以,如何有效地充分利用這些數(shù)據(jù),就成了國家和企業(yè)決策者們迫切關(guān)心的問題。在這樣的大背景下,數(shù)據(jù)挖掘(DataMining,DM
2、)技術(shù)孕育而生,有時也稱之為知識發(fā)現(xiàn)(KnoazonS3等。從某種意義上講,Spark的出現(xiàn)并不是要消滅Hadoop。相反,Spark充分利用了HDFS和YARN,可以看作是為了彌補Hadoop的缺點而產(chǎn)生的。RDD(ResilientDistributedDatasets)是彈性分布式數(shù)據(jù)集的簡稱,它是分布式只讀且已分區(qū)的集合對象。這些對象是彈性的,即如果數(shù)據(jù)的某部分丟失,則還可以對它們進行重建,因此它具有自動容錯、位置感知調(diào)度和可伸縮性。圖2-1顯示的是Spark的體系結(jié)構(gòu)。...............2.2頻繁項集挖掘算法關(guān)聯(lián)規(guī)則挖掘的整個過
3、程主要分兩步來完成:第一步是找出數(shù)據(jù)庫中所有滿足最小支持度閾值的頻繁項集;第二步是由頻繁項集產(chǎn)生所有滿足最小置信度閾值的關(guān)聯(lián)規(guī)則[1]。由于關(guān)聯(lián)規(guī)則挖掘的整體性能主要是由第一步的性能所決定,因此,關(guān)聯(lián)規(guī)則挖掘的關(guān)鍵和難點都集中在了頻繁項集的挖掘上。隨著關(guān)聯(lián)分析技術(shù)的不斷發(fā)展,眾多的研究學(xué)者提出了許多優(yōu)秀的頻繁項集挖掘算法,包括單機(single-machine)挖掘算法、基于MPI(MessagePassingInterface)的挖掘算法、基于MapReduce的挖掘算法和基于Spark的挖掘算法,接下來分別簡要介紹一些優(yōu)秀的頻繁項集挖掘算法。..
4、.............第三章基于Spark的分布式頻繁項集挖掘算法...............193.1FP-gro算法................40第六章DFPS算法在項目中的應(yīng)用6.1項目概述項目將主要基于SAP技術(shù),搭建SAP技術(shù)大數(shù)據(jù)應(yīng)用平臺,做大數(shù)據(jù)技術(shù)的前瞻性研究和開發(fā)應(yīng)用。利用SAP技術(shù),搭建從數(shù)據(jù)抽取、數(shù)據(jù)存儲到數(shù)據(jù)應(yīng)用的大數(shù)據(jù)技術(shù)平臺,對其中的技術(shù)點進行前瞻性研究,同時該技術(shù)平臺可以做為培訓(xùn)和學(xué)習(xí)的操作環(huán)境,具體包括:1)基于互聯(lián)網(wǎng)大數(shù)據(jù)的采集利用甲方現(xiàn)有產(chǎn)品萬網(wǎng)智能平臺,進行互聯(lián)網(wǎng)大數(shù)據(jù)的采集,對采集的數(shù)據(jù)進行處理和整
5、合,做為后繼數(shù)據(jù)存儲和數(shù)據(jù)挖掘的數(shù)據(jù)集;2)HANA和Hadoop的大數(shù)據(jù)多層存儲架構(gòu)搭建HANA和Hadoop的集成環(huán)境,實現(xiàn)大數(shù)據(jù)的分層存儲,滿足查詢性能和存儲空間的平衡需求;3)基于SAPPA的數(shù)據(jù)挖掘技術(shù)基于大數(shù)據(jù)的分層存儲,對加工好的數(shù)據(jù)進行數(shù)據(jù)挖掘技術(shù)的研究,包括預(yù)測、分類、社交網(wǎng)絡(luò)和推-->薦功能;4)基于R語言的數(shù)據(jù)挖掘技術(shù)集成HANA和R的環(huán)境,基于大數(shù)據(jù)以R語言進行數(shù)據(jù)挖掘的探究,實現(xiàn)SAPPA同樣的功能,并對數(shù)據(jù)挖掘結(jié)果進行比對分析。...............6.2項目實施在項目的實施階段,首先,根據(jù)項目的具體要求,設(shè)計出一
6、個大數(shù)據(jù)研發(fā)平臺,實現(xiàn)HANA和Hadoop的集成;然后,根據(jù)設(shè)計要求,搭建大數(shù)據(jù)平臺并集成HANA/Hadoop和R的環(huán)境;最后,基于SAPPA技術(shù)、R語言和本文的研究算法——DFPS算法,對淘寶的交易數(shù)據(jù)進行頻繁項集挖掘,得到頻繁地被客戶一起購買的商品組合。根據(jù)要求,我們需要設(shè)計一個HANA和Hadoop集成的方案,實現(xiàn)大數(shù)據(jù)的分層存儲,滿足查詢性能和存儲空間的平衡需求。最終,我們設(shè)計的方案是:結(jié)構(gòu)化數(shù)據(jù)存儲在Hive上,而非結(jié)構(gòu)化數(shù)據(jù)存儲在HDFS上,利用MapReduce計算框架,可以實現(xiàn)海量數(shù)據(jù)簡單的自定義分析邏輯;由于Hadoop所擅長的
7、是批處理,對于迭代計算的問題則顯得力不從心,所以我們利用ApacheSpark來彌補Hadoop的不足,實現(xiàn)非實時作業(yè)的分布式迭代計算;對于實時性要求較高的作業(yè),則將這些作業(yè)移動到HANA中完成。通過SAPHANA和Hadoop的連接器,將Hadoop上的數(shù)據(jù)抽取到HANA中,并保存在原始表里,通過計算層得到的結(jié)果則存儲在結(jié)果表或分析視圖中。...............總結(jié)隨著信息化時代的發(fā)展,人類逐步進入了大數(shù)據(jù)時代,在這些海量數(shù)據(jù)里,隱含著有價值或有潛力的信息??焖俚貜倪@些海量數(shù)據(jù)中提取有用的信息,以輔助上層決策,對國家和企業(yè)來說,都是很有意義
8、的。頻繁項集挖掘是數(shù)據(jù)挖掘研究領(lǐng)域中的一個重要課題,它是關(guān)聯(lián)規(guī)則、因果關(guān)系、相關(guān)性分析、情節(jié)片段、序列項集、