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

基于MapReduce的數(shù)據(jù)挖掘平臺設(shè)計與實現(xiàn)

2013-07-25 02:28:08許舒人
計算機工程與設(shè)計 2013年2期
關(guān)鍵詞:數(shù)據(jù)挖掘定義用戶

黃 斌,許舒人,蒲 衛(wèi)

(1.中國科學(xué)院軟件研究所軟件工程技術(shù)中心,北京100190;2.中國科學(xué)院研究生院,北京100190;3.解放軍衛(wèi)生信息中心,北京100842)

0 引言

2009年全球存儲的信息總量達(dá)到為8000億Gbt。IDC預(yù)測到2020年,全球?qū)鎯?5Zbt(1Zbt=240Gbt)的信息量。社交網(wǎng)絡(luò)、電子商務(wù)、微博、音視頻分享等互聯(lián)網(wǎng)領(lǐng)域以及研究機構(gòu)科學(xué)實驗源源不斷地產(chǎn)生大量的數(shù)據(jù),單一數(shù)據(jù)庫存儲服務(wù)已經(jīng)無法滿足數(shù)據(jù)多元化與大規(guī)模數(shù)據(jù)挖掘的需求。

在商業(yè)領(lǐng)域,從商業(yè)決策、搜索引擎、社交網(wǎng)絡(luò)、推薦系統(tǒng),到垃圾郵件檢測與廣告投放,對大規(guī)模數(shù)據(jù)進(jìn)行及時、有效地分析已成為這些商業(yè)應(yīng)用能在競爭中脫穎而出的重要因素;在科學(xué)研究領(lǐng)域,天文學(xué)的圖片數(shù)據(jù)、生物學(xué)中的人類基因組數(shù)據(jù)以及物理學(xué)中粒子加速器產(chǎn)生的實驗數(shù)據(jù)的數(shù)據(jù)量都非常大,大數(shù)據(jù)量給科學(xué)分析帶來困難。

面對增長迅速的數(shù)據(jù)量,如何從數(shù)據(jù)中發(fā)掘有用的信息成為當(dāng)前大多數(shù)數(shù)據(jù)挖掘系統(tǒng)面臨的問題。對于此類大數(shù)據(jù)集的數(shù)據(jù)分析與挖掘系統(tǒng),Cohen等人在文獻(xiàn) [1]中總結(jié)了這類系統(tǒng)需要具備的特性:

(1)數(shù)據(jù)適應(yīng)性:系統(tǒng)可接受多種類型的數(shù)據(jù),避免系統(tǒng)對存儲的數(shù)據(jù)的類型、結(jié)構(gòu)和數(shù)據(jù)完整性的強要求,從而避免通常的數(shù)據(jù)倉庫對數(shù)據(jù)的強要求帶來的問題;

(2)敏捷性:系統(tǒng)能夠適應(yīng)數(shù)據(jù)遞增且更新頻繁的應(yīng)用場景;

(3)分析深度:提供對數(shù)據(jù)分析多角度、多切面的分析,可便捷得加入復(fù)雜的概率統(tǒng)計和機器學(xué)習(xí)算法,適應(yīng)多類型數(shù)據(jù)分析需求。

迫于數(shù)據(jù)量的急劇增長,大量的數(shù)據(jù)存儲在數(shù)據(jù)庫與數(shù)據(jù)倉庫中,關(guān)系型數(shù)據(jù)庫通常提供進(jìn)行數(shù)據(jù)分析與挖掘的數(shù)據(jù)分析工具,例如,SAP BusinessObjects Explorer[2]、Matlab Spider[3]、SQL Server Analysis Services[4]、weka[5]等都提供了此類工具。然而,以關(guān)系型數(shù)據(jù)庫為基礎(chǔ)的數(shù)據(jù)挖掘系統(tǒng)存在以下幾個弊端:

(1)在龐大數(shù)據(jù)量背景下,數(shù)據(jù)遷移所帶來的時間損失巨大,在此種情況下,把計算力移向數(shù)據(jù)是比數(shù)據(jù)遷移到計算系統(tǒng)更有效率的方法;

(2)大多數(shù)數(shù)據(jù)庫分析系統(tǒng)需要將所有的數(shù)據(jù)放入內(nèi)存中,對于占多數(shù)的大數(shù)據(jù)集,一般只能通過抽樣的方式使得數(shù)據(jù)量縮小到內(nèi)存可接受的范圍內(nèi),數(shù)據(jù)的抽樣通常會導(dǎo)致數(shù)據(jù)信息量丟失;

(3)在處理速度上,不斷增加的數(shù)據(jù)很容易造成數(shù)據(jù)庫索引的不斷增加,索引增加的滯后性容易導(dǎo)致數(shù)據(jù)庫的處理速度降低。

數(shù)據(jù)庫系統(tǒng)在數(shù)據(jù)處理效率和可處理的數(shù)據(jù)量無法滿足當(dāng)前數(shù)據(jù)的爆炸式增長,效率與容量成為以數(shù)據(jù)庫為基礎(chǔ)的數(shù)據(jù)挖掘系統(tǒng)的最大瓶頸。

基于模型驅(qū)動的開發(fā)方法與組件開發(fā)技術(shù),本文提出一種可擴展數(shù)據(jù)挖掘平臺,運用MapReduce框架的擴展性與并行能力,定義可重用的數(shù)據(jù)挖掘組件和Connector組件,提高了數(shù)據(jù)挖掘過程敏捷性。系統(tǒng)主要解決以下3個方面的問題:

(1)定義數(shù)據(jù)挖掘過程中的挖掘組件模型,用戶可復(fù)用系統(tǒng)提供的數(shù)據(jù)挖掘組件來快速定義數(shù)據(jù)挖掘過程;

(2)通過GMF技術(shù)實現(xiàn)對數(shù)據(jù)挖掘過程的可視化定義,并通過代碼生成引擎實現(xiàn)挖掘過程到可執(zhí)行代碼的轉(zhuǎn)換;

(3)定義Connector可重用組件,實現(xiàn)對多種數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)訪問。

1 研究背景

Google 提出的分布式文件系統(tǒng) GFS[6]和 MapReduce[7]框架為大規(guī)模并行數(shù)據(jù)計算與分析提供了重要的參考。MapReduce框架將數(shù)據(jù)的運算抽象成“Map”和“Reduce”兩個階段,以分而治之的思想簡化了大規(guī)模數(shù)據(jù)集的并行計算過程。Hadoop是MapReduce框架與分布式文件系統(tǒng)GFS的開源實現(xiàn),它實現(xiàn)的MapReduce框架和HDFS分布式文件系統(tǒng)使得在成本可控的情況下處理海量數(shù)據(jù)成為可能。業(yè)界圍繞著Hadoop發(fā)展起來了一系列工具,這些工具擴展了Hadoop的運用場景與應(yīng)用領(lǐng)域。如圖1展示了Hadoop軟件棧 (Hadoop software stack),以Hadoop為核心,出現(xiàn)了在數(shù)據(jù)存儲、處理、訪問、管理、數(shù)據(jù)連接等幾個層次的軟件。它們提升了Hadoop的易用性、可維護(hù)性以及對多種編程語言的支持能力。

圖1 Hadoop Software Stack

其中,Hbase[8]是一個以 BigTable[9]為原型的高性能、面向列、強一致性存儲系統(tǒng);Hive[10]是一個基于Hadoop實現(xiàn)的數(shù)據(jù)倉庫工具;Pig使用戶可以通過Pig-latin語言定義運行于Hadoop上的數(shù)據(jù)流程;Avro是一個面向Hadoop的數(shù)據(jù)序列化系統(tǒng);Sqoop[11]是一個用于關(guān)系型數(shù)據(jù)庫與HDFS之間數(shù)據(jù)遷移的工具;Zookeeper用于分布式應(yīng)用中的集群管理、狀態(tài)同步服務(wù)、同步鎖服務(wù);Chukwa是一個用于進(jìn)行集群運行日志收集、分析和展示的管理工具。

以上軟件與工具在一定程度上提升了Hadoop的易用性和數(shù)據(jù)分析的能力,然而Hadoop對數(shù)據(jù)分析、數(shù)據(jù)挖掘算法以及可視化支持的缺乏使用戶在運用Hadoop進(jìn)行數(shù)據(jù)挖掘過程中暴露出效率低下、重復(fù)開發(fā)等問題。目前還沒有基于MapReduce實現(xiàn)的面向數(shù)據(jù)密集型的可視化數(shù)據(jù)挖掘框架。用戶在使用Hadoop提供的任務(wù)提交機制進(jìn)行數(shù)據(jù)挖掘操作時,往往需要根據(jù)需求去設(shè)計特定的Hadoop任務(wù)代碼。例如,對于一個SNS網(wǎng)站,若需要對20-30歲的用戶花費在社交網(wǎng)絡(luò)上的時間進(jìn)行統(tǒng)計,開發(fā)人員需要針對特定的需求編寫MapReduce代碼 (包括條件過濾、數(shù)據(jù)統(tǒng)計和數(shù)據(jù)展示等幾個任務(wù)),然后交給Hadoop去進(jìn)行計算。該開發(fā)過程花費時間長,大部分時間都花費在重復(fù)開發(fā)上。

2 基于MapReduce的數(shù)據(jù)挖掘平臺

基于MapReduce實現(xiàn)的數(shù)據(jù)挖掘平臺的系統(tǒng)架構(gòu)主要包括數(shù)據(jù)挖掘過程模型、代碼生成引擎、數(shù)據(jù)挖掘組件模型、MapReduce執(zhí)行框架4個模塊,如圖2所示。

數(shù)據(jù)挖掘過程模型:用戶通過可視化的界面來定義數(shù)據(jù)挖掘過程,并配置相關(guān)的組件信息,該部分通過基于E-clipse 的 EMF[12]、GEF[13]和 GMF[14]實現(xiàn)圖形化的數(shù)據(jù)流程處理模型。

代碼生成引擎:為了避免讓用戶重復(fù)編寫通用代碼,系統(tǒng)具備生成符合Hadoop規(guī)范代碼的功能,用戶通過系統(tǒng)提供的參數(shù)配置界面配置需用戶定義的參數(shù),這些參數(shù)最后將會反映到最終生成的代碼中。從用戶定義的數(shù)據(jù)挖掘過程模型轉(zhuǎn)換成可在Hadoop上運行的代碼有一個過程分析與代碼生成過程,該過程由代碼生成引擎完成,主要包括了過程模型分析、依賴關(guān)系分析、代碼模板解析等工作。

圖2 基于MapReduce數(shù)據(jù)挖掘處理平臺架構(gòu)

數(shù)據(jù)挖掘組件模型:數(shù)據(jù)挖掘過程是通過將組件連接起來構(gòu)成的,組件為了實現(xiàn)不同的功能,將封裝不同的數(shù)據(jù)操作邏輯。數(shù)據(jù)挖掘組件主要分成數(shù)據(jù)挖掘算法 (datamining algorithm)組件、Connector組件、用戶自定義組件(user defined component)三大類。

MapReduce執(zhí)行框架:系統(tǒng)以Hadoop提供的MapReduce框架作為數(shù)據(jù)挖掘過程執(zhí)行平臺,通過向MapReduce框架提交代碼的形式,運用MapReduce的并行計算能力實現(xiàn)挖掘過程的并行化。

運用基于模型驅(qū)動的開發(fā)方法,系統(tǒng)將軟件過程中使用的算法提取出來形成抽象模型。該方法可使用戶無需關(guān)心特定算法實現(xiàn)細(xì)節(jié),系統(tǒng)以面向組件的方式簡化數(shù)據(jù)挖掘流程定義和算法組件定義。面向模型驅(qū)動的開發(fā)方法提高了系統(tǒng)的抽象層次,系統(tǒng)以一種可擴展的方式實現(xiàn)了數(shù)據(jù)挖掘平臺的低耦合、高內(nèi)聚。

2.1 數(shù)據(jù)挖掘過程模型

用戶通過系統(tǒng)提供的模型組件來定義數(shù)據(jù)挖掘過程,該過程是一個符合過程邏輯模型的挖掘過程。在邏輯模型中,挖掘過程中的每一步數(shù)據(jù)操作被抽象成一個數(shù)據(jù)操作節(jié)點,該節(jié)點可稱為邏輯節(jié)點。系統(tǒng)通過解析邏輯節(jié)點的輸入輸出信息、用戶配置參數(shù)、節(jié)點對應(yīng)的系統(tǒng)組件元信息來構(gòu)建物理過程模型。邏輯過程模型與具體實現(xiàn)技術(shù)無關(guān)。物理模型則是從計算機系統(tǒng)的角度來定義,該模型與系統(tǒng)的實現(xiàn)平臺、編程模型和MapReduce任務(wù)調(diào)度策略相關(guān)。邏輯模型經(jīng)過系統(tǒng)的后臺解析轉(zhuǎn)換成物理模型后才能在系統(tǒng)中執(zhí)行。

過程模型使用EMF技術(shù)實現(xiàn)邏輯模型到物理模型的轉(zhuǎn)換。同時,通過GEF技術(shù),用戶可通過模型的圖形化方式來實現(xiàn)邏輯模型的定義。物理模型與具體實現(xiàn)相關(guān),物理模型包含了數(shù)據(jù)挖掘組件模型、Jet模板代碼生成技術(shù)以及與MapReduce相關(guān)的Mapper與Reducer定義、Job類型等相關(guān)內(nèi)容。這些內(nèi)容將分別在2.3節(jié)代碼生成引擎和2.4節(jié)數(shù)據(jù)挖掘組件介紹。

數(shù)據(jù)挖掘過程包括數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘和結(jié)果展示幾個步驟。如圖3所示,數(shù)據(jù)準(zhǔn)備主要是指定義一個或多個數(shù)據(jù)來源,并在執(zhí)行過程中完成數(shù)據(jù)抽取工作,用戶可通過定義不同的Connector組件來實現(xiàn)對不同數(shù)據(jù)源的數(shù)據(jù)抽取。數(shù)據(jù)預(yù)處理包括了數(shù)據(jù)清理 (去噪和去除不一致數(shù)據(jù))、數(shù)據(jù)集成 (多數(shù)據(jù)源的組合)和數(shù)據(jù)選擇 (定義數(shù)據(jù)過濾規(guī)則)。用戶通過定義過濾、正則匹配等組件來實現(xiàn)該步驟。數(shù)據(jù)挖掘運用數(shù)據(jù)挖掘算法對經(jīng)過預(yù)處理的數(shù)據(jù)執(zhí)行挖掘算法。最后,結(jié)果展示步驟將執(zhí)行結(jié)果以數(shù)據(jù)或圖表的形式展示給用戶。

圖3 數(shù)據(jù)挖掘過程

2.2 代碼生成引擎

代碼生成引擎主要完成從邏輯模型到可被MapReduce框架執(zhí)行的可執(zhí)行代碼的轉(zhuǎn)換過程,如圖4所示,大致可分成模型解析與代碼生成兩步。

第一步是模型解析,模型解析的主要工作是解析邏輯模型,系統(tǒng)根據(jù)數(shù)據(jù)挖掘過程模型定義的節(jié)點信息來劃分操作子流程,以Reduce操作節(jié)點為劃分點,以mapper+/reducer/mapper* (通過 ChainMapper[15]和 ChainRedu-cer[15]實現(xiàn)多個mapper和reducer在一個任務(wù)中執(zhí)行)為子流程形式構(gòu)造MapReduce任務(wù)集,并根據(jù)流程的連接順序來定義子流程之間的依賴關(guān)系。

圖4 代碼生成引擎工作原理

第二步是代碼生成,如圖5所示,根據(jù)第一步模型解析得到的子流程以及依賴關(guān)系,系統(tǒng)通過jet[16]模板解析的方式來生成MapReduce代碼。數(shù)據(jù)挖掘組件接收與其相連組件的輸入輸出類信息。根據(jù)輸入輸出類型信息和組件代碼模板,使用jet代碼模板生成相應(yīng)的代碼,并將處理后的輸出按照輸出模式存放。組件模型包含組件ID、jet代碼模板、用戶定義參數(shù)類與組件元信息。組件ID用于標(biāo)識組件的唯一性;jet代碼模板包括了Job配置模板、Mapper類模板、Reduce類模板以及Key/Value類模板等與MapReduce執(zhí)行平臺相關(guān)的模板信息;用戶自定義參數(shù)類是用戶輸入的參數(shù);組件描述元信息包含了組件描述、可視化圖標(biāo)、模板路徑等元數(shù)據(jù)。數(shù)據(jù)挖掘過程模型最終會轉(zhuǎn)換成Java可執(zhí)行代碼。這些類包括數(shù)據(jù)操作節(jié)點的Mapper類和Reducer類、數(shù)據(jù)連接輸入輸出類。最后,系統(tǒng)會生成一個以用戶定義的數(shù)據(jù)挖掘過程名稱為類名的主類來控制整個數(shù)據(jù)挖掘過程,并通過Hadoop Job Configuration模板提供的信息在runJob方法中按照模型解析獲得的任務(wù)依賴關(guān)系構(gòu)建挖掘代碼。

圖5 Jet代碼模板解析器工作方式

圖6 描述了代碼生成引擎的部分類的類圖,引擎主要包括了用于對代碼生成進(jìn)行控制的MapReduceTransfer類;用于對過程模型進(jìn)行實例化的物理模型類PhysicalProess、PhysicaNode、PhysicalConnection、ChainHadoopJob;用于對代碼生成過程進(jìn)行管理的DataMiningCodeManager類。

圖6 代碼生成引擎部分類

2.3 數(shù)據(jù)挖掘組件

數(shù)據(jù)挖掘組件是系統(tǒng)實現(xiàn)挖掘、數(shù)據(jù)連接等功能的數(shù)據(jù)操作單位,組件封裝了特定的數(shù)據(jù)操作邏輯。系統(tǒng)基于Eclipse來開發(fā),可通過用戶自定義組件來擴展功能。數(shù)據(jù)挖掘組件在 OSGi[17]標(biāo)準(zhǔn)框架 Equinox中以組件的形式存在,系統(tǒng)提供標(biāo)準(zhǔn)擴展點,數(shù)據(jù)挖掘組件在plugin.xml中定義符合擴展點schema規(guī)則的組件元信息。

系統(tǒng)通過定義組件模型來規(guī)范化組件在系統(tǒng)中的生命周期。如圖7所示,組件模型定義了該組件的輸入流與輸出流,并通過Configure Interface接受用戶參數(shù)。

圖7 數(shù)據(jù)挖掘組件模型

組件模型定義了組件的類型、輸入接口、輸出接口、組件MapReduce類型等元信息。表1展示了數(shù)據(jù)挖掘組件模型Schema規(guī)范。

組件主要包括了ConfigInterface,Description,Icon,Id,MapredType,oType,TemplatePath以及 Input和 Output幾項屬性。表1描述了各項屬性的含義。

通過定義符合規(guī)則的schema,組件作為數(shù)據(jù)挖掘過程中標(biāo)準(zhǔn)組件的形式存在于系統(tǒng)中,并由系統(tǒng)對其進(jìn)行加載、調(diào)用、銷毀等生命周期管理。上述schema的定義沒有規(guī)定組件內(nèi)部的算法邏輯的實現(xiàn),算法的實現(xiàn)主要通過每個組件各自的TemplatePath中的代碼模板來定義。代碼模板可根據(jù)組件需要實現(xiàn)的特定功能來實現(xiàn)算法,這種松耦合的架構(gòu)為系統(tǒng)的可擴展性提供了保障。用戶可通過實現(xiàn)自定義的代碼模板來添加自定義組件。同時,代碼模板也可以方便得用于調(diào)用現(xiàn)成的算法庫,例如基于Hadoop實現(xiàn)的Mahout[18]算法庫。

表1 組件schema描述表

2.3.1 數(shù)據(jù)挖掘算法組件

數(shù)據(jù)挖掘算法組件封裝了挖掘算法邏輯。在數(shù)據(jù)挖掘算法組件中,數(shù)據(jù)以SequenceFile類型存儲。如圖8所示。SequenceFile存儲類型是Hadoop內(nèi)置的一種數(shù)據(jù)存儲類型,用于存儲二進(jìn)制形式的key/value。該存儲方式支持壓縮,可定制為基于Record或Block壓縮壓縮粒度。

基于hadoop的機器學(xué)習(xí)算法庫mahout實現(xiàn)了部分并行算法,用戶可通過參考系統(tǒng)定義的數(shù)據(jù)挖掘組件擴展點schema將mahout算法包裝成數(shù)據(jù)挖掘算法組件。

圖8 數(shù)據(jù)挖掘算法組件SequenceFile數(shù)據(jù)轉(zhuǎn)換

圖9 展示了基于MapReduce框架的K-means聚類算法,與傳統(tǒng)的K-means算法比,該算法實現(xiàn)了并行化。該算法分成三步:第一步實現(xiàn)文件的轉(zhuǎn)換,為后續(xù)步驟做數(shù)據(jù)準(zhǔn)備;第二步對數(shù)據(jù)進(jìn)行了分布式的Canopy算法,用于確定K-means算法初始的K個簇中心;第三步根據(jù)用戶配置的參數(shù)進(jìn)行K-means迭代算法。該算法參考了mahout中的實現(xiàn)。

圖9 分布式K-means聚類算法

2.3.2 Connector組件

Connector組件用來實現(xiàn)系統(tǒng)與其它存儲系統(tǒng)的數(shù)據(jù)訪問功能。該類組件通過將定義系統(tǒng)與各類存儲系統(tǒng)的數(shù)據(jù)訪問接口與數(shù)據(jù)訪問格式來實現(xiàn)數(shù)據(jù)讀寫訪問。主要包括關(guān)系型數(shù)據(jù)庫Connector組件和key-value數(shù)據(jù)庫Connector組件兩大類。例如,MySQL Connector用于訪問存儲在MySQL數(shù)據(jù)庫中的數(shù)據(jù)。對于關(guān)系型數(shù)據(jù)庫的Connector組件,系統(tǒng)參考Cloudera Sqoop框架的實現(xiàn)。

3 實驗與分析

實驗與分析主要是通過數(shù)據(jù)挖掘平臺向量聚類挖掘過程的可視化開發(fā)過程來說明基于MapReduce數(shù)據(jù)挖掘平臺的易用性以及在面對多變需求時的敏捷性。

3.1 實驗設(shè)置

聚類算法能夠在沒有訓(xùn)練樣本的條件下產(chǎn)生聚類模型。作為數(shù)據(jù)挖掘的一種重要手段,聚類在Web文檔的信息挖掘、信息分類中有著重要作用。對于需要聚類的文檔,傳統(tǒng)的做法是通過分詞與TF-IDF[19]統(tǒng)計等方式將文檔轉(zhuǎn)換成向量。然后通過Canopy、K-means等聚類算法對向量進(jìn)行聚類分析。

用戶通過系統(tǒng)提供的可視化開發(fā)界面定義挖掘過程。如圖10所示,HDFS數(shù)據(jù)抽取組件定義輸入路徑;文件轉(zhuǎn)換組件將原始文件轉(zhuǎn)換成K-means聚類算法組件可接受的SequenceFile存儲類型;最后K-means聚類算法組件執(zhí)行聚類分析。

圖10 K-means向量聚類流程

對于K-means聚類算法組件的需要配置的參數(shù),用戶可通過系統(tǒng)提供的組件屬性配置界面進(jìn)行參數(shù)配置。如圖11所示,通過配置界面,可定義用于K-means算法的特定的屬性值 T1,T2,向量距離測量方式,算法迭代次數(shù)等參數(shù)。

圖11 K-means聚類算法組件參數(shù)配置面板

在用戶配置完數(shù)據(jù)挖掘流程后,系統(tǒng)將自動生成代碼并上傳到Hadoop集群進(jìn)行計算。圖12展示了8000個向量進(jìn)行K-means聚類的結(jié)果。對于二維向量,系統(tǒng)提供聚類圖形化的選項 (如圖11所示)。通過系統(tǒng)的可視化工具,可將聚類結(jié)果以圖形化的方式展現(xiàn)給用戶。該聚類結(jié)果是在合理配置T1,T2,數(shù)值范圍、收斂指數(shù)等參數(shù)后的聚類結(jié)果。

圖12 K-means二維向量聚類

通過系統(tǒng)提供的挖掘過程定義界面與組件配置功能,用戶可在不關(guān)心K-means算法實現(xiàn)細(xì)節(jié)與算法并行化技術(shù)的基礎(chǔ)上,實現(xiàn)了對向量數(shù)據(jù)的聚類分析。同時,通過系統(tǒng)提供的可視化工具,實現(xiàn)對聚類結(jié)果的可視化展示。該過程簡化了在Hadoop平臺上的數(shù)據(jù)挖掘過程,提高了開發(fā)效率。

4 相關(guān)工作

Wegenner[20]等人針對數(shù)據(jù)挖掘算法的并行化問題,提出了針對MapReduce環(huán)境下通用數(shù)據(jù)挖掘工具。該研究表明MapReduce并行化計算大幅提高了挖掘算法對大數(shù)據(jù)集的挖掘效率。

Weka Parallel[21]將Weka擴展到多核環(huán)境下,通過實現(xiàn)Weka多核環(huán)境下并行化交叉驗證,縮短需進(jìn)行交叉驗證的分類、聚類等挖掘算法的執(zhí)行時間。

Lai[22]等人提出了在Hadoop上構(gòu)建數(shù)據(jù)索引,該文運用決策樹算法建立索引的方式實現(xiàn)了比Hadoop提供的Map-File索引跟高效的訪問效率。同時,運用Java持久化API(JPA)與MySQL集群構(gòu)建基于Hadoop的數(shù)據(jù)挖掘系統(tǒng)。

本文提出的基于MapReduce的數(shù)據(jù)挖掘平臺從開發(fā)效率和擴展性出發(fā),運用過程建模與組件復(fù)用技術(shù),實現(xiàn)挖掘過程可視化與挖掘算法組件化,提高挖掘效率。

5 結(jié)束語

本文提出了一種基于MapReduce編程模型的數(shù)據(jù)挖掘平臺設(shè)計與實現(xiàn),為Hadoop在構(gòu)建數(shù)據(jù)挖掘、數(shù)據(jù)可視化以及商業(yè)智能應(yīng)用提供參考。該平臺以O(shè)SGi為基礎(chǔ),以一種可擴展、低耦合的構(gòu)建方式,用戶可方便地利用現(xiàn)有的算法對平臺進(jìn)行功能擴充。面對互聯(lián)網(wǎng)和科學(xué)計算產(chǎn)生的海量數(shù)據(jù),該平臺充分利用了Hadoop對海量數(shù)據(jù)的處理能力和OSGi框架對組件完善的管理能力,構(gòu)建一種可適應(yīng)數(shù)據(jù)挖掘領(lǐng)域需求變動快、數(shù)據(jù)來源多樣等特點的海量數(shù)據(jù)挖掘平臺。

[1]Jeffrey Cohen B D,Mark Dunlap.MAD skills:New analysis practices for big data [J].Proceedings of the VLDB Endowment,2009,2(2):1481-1492.

[2]Business objects explorer home page on the sap community network[EB/OL].http://www.sdn.sap.com/irj/boc/explorer,2012.

[3]The spider is intended to be a complete object orientated environment for machine learning in Matlab[EB/OL].http://people.kyb.tuebingen.mpg.de/spider/,2012.

[4]Microsoft SQL server analysis services(SSAS)[EB/OL].http://msdn.microsoft.com/en-us/library/ms175609(v=sql.90).aspx,2011.

[5]Mark Hall E F,Geoffrey Holmes,Bernhard Pfahringer,et al.The WEKA data mining software:An update[J].ACM SIGKDD Explorations Newsletter,2009,11(1):10-18.

[6]McKusick K,Quinlan S.GFS:Evolution on fast-forward [J].Communications of the ACM,2010,53(3):42-49.

[7]Dean J,Gheawat S.MapReduce:Simplified data processing onlarge clusters[J].Communications of the ACM-50th Anniversary Issue:1958-2008,2008,51(1):107-113.

[8]Khetrapal A,Ganesh V HBase.Hypertable for large scale distributed storage systems[EB/OL].http://www.ankurkhetrapal.com/downloads/HypertableHBaseEval2.pdf,2008.

[9]Chang F,Dean J,Ghemawat S,et al.Bigtable:A distributed storage system for structured data[J].ACM Transactions on Computer Systems,2008,26(2):205-218.

[10]Thusoo A,Sarma JS,Jain N,et al.Hive:A warehousing solution over a map-reduce framework[J].Proceedings of the VLDB Endowment,2009,2(2):1626-1629.

[11]Hadoop Sqoop.SQL-to-Hadoop database import and export tool[EB/OL].https://github.com/cloudera/sqoop/wiki,2010

[12]Eclipse modeling framework project(EMF)[EB/OL].http://www.eclipse.org/modeling/emf/,2012.

[13]Eclipse consortium,eclipse graphical editing framework(GEF)[EB/OL].http://www.eclipse.org/gef/,2012.

[14]Eclipse consortium,eclipse graphical modeling framework[EB/OL].http://www.eclipse.org/modeling/gmp/,2010.

[15]White T.Hadoop:The definitive guide[M].2nd ed.O'Reilly Media/Yahoo Press,2010:165.

[16]Eclipse consortium,Java emitter templates(jet),eclipse modeling framework-version 2.6.1,2010[EB/OL].http://www.eclipse.org/emf,2010.

[17]OSGi Alliance.OSGi-the dynamic module system for Java[EB/OL].http://www.osgi.org,2009.

[18]Sean Owen R A.Mahout in action[M].Manning Publications,2010.

[19]Wu H C,Luk R W P,Wong K F,et al.Interpreting TF-IDF term weights as making relevance decisions[J].ACM Transactions on Information Systems,2008,26(3):2-36.

[20]Wegener D,Mock M,Adranale D,et al.Toolkit-based high-performance data mining of large data on MapReduce clusters[C]//Washington:IEEE Computer Society,2009:296-301.

[21]Celis S,Musicant D R.Weka-parallel:Machine learning in parallel[EB/OL].http://sourceforge.net/projects/weka-parallel/,2009.

[22]Lai Y,ZhongZhi S.An efficient data mining framework on hadoop using java persistence API[C]//Bradford:IEEE Computer Society,2010:203-209.

猜你喜歡
數(shù)據(jù)挖掘定義用戶
探討人工智能與數(shù)據(jù)挖掘發(fā)展趨勢
基于并行計算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
電力與能源(2017年6期)2017-05-14 06:19:37
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
如何獲取一億海外用戶
基于GPGPU的離散數(shù)據(jù)挖掘研究
修辭學(xué)的重大定義
主站蜘蛛池模板: 成人一级黄色毛片| 亚洲人成影视在线观看| 国产制服丝袜91在线| 亚洲国产欧洲精品路线久久| www.日韩三级| 永久成人无码激情视频免费| 日日拍夜夜嗷嗷叫国产| 国产亚洲精品在天天在线麻豆| 国产主播一区二区三区| 99伊人精品| 亚洲成a人在线观看| 精品少妇人妻一区二区| 99久久免费精品特色大片| 国产精品主播| 高潮毛片无遮挡高清视频播放| 亚洲成人在线免费| 午夜福利在线观看成人| 亚洲成在人线av品善网好看| 色综合色国产热无码一| 亚洲美女一区| 国产成人综合亚洲欧美在| 婷婷色中文网| 久久青草视频| 国产日韩AV高潮在线| 精品视频第一页| 亚洲国产精品不卡在线| 国产精品久久久久久搜索| AV无码一区二区三区四区| 亚洲性影院| 国产国产人免费视频成18| 欧美日本在线| 免费一级无码在线网站| 国产精品一线天| 亚洲国产中文欧美在线人成大黄瓜| 玖玖精品视频在线观看| 国产区免费| 欧美成在线视频| 欧美视频在线播放观看免费福利资源 | 中文字幕无码电影| 精品福利视频导航| 免费一级毛片完整版在线看| 伊人91在线| 99在线视频免费| 国产成人凹凸视频在线| 色综合久久久久8天国| 国产日本欧美在线观看| 欧美区一区二区三| 欧美精品在线免费| 这里只有精品在线播放| 亚洲性色永久网址| 亚洲成aⅴ人片在线影院八| 色久综合在线| 亚洲人精品亚洲人成在线| 精品国产一二三区| 欧美日韩国产成人高清视频| 免费视频在线2021入口| 理论片一区| 尤物成AV人片在线观看| 国产视频一区二区在线观看| 日本91视频| 九九精品在线观看| 福利在线不卡| 9啪在线视频| 日本一区中文字幕最新在线| 亚洲天堂网2014| 亚洲永久精品ww47国产| 国内精品小视频在线| 在线国产你懂的| 色综合天天视频在线观看| 全部毛片免费看| 国产一级在线观看www色| 久久精品国产精品青草app| 第一区免费在线观看| 国产伦片中文免费观看| 亚洲欧美国产五月天综合| 99青青青精品视频在线| 无码国内精品人妻少妇蜜桃视频| 萌白酱国产一区二区| 国产精品久久精品| 国产女人喷水视频| 综合色区亚洲熟妇在线| 亚洲成人在线网|