林明方
摘要:數(shù)據(jù)挖掘是從模糊、隨機(jī)的龐大數(shù)據(jù)庫(kù)提取出含有潛在有用信息和知識(shí)的非平凡過(guò)程,隨著計(jì)算機(jī)技術(shù)的不斷提高以及云存儲(chǔ)的開發(fā),從物理、生物、政治、經(jīng)濟(jì)甚至是人們息息相關(guān)的日常生活,對(duì)數(shù)據(jù)的存儲(chǔ)能力和使用能力的要求都開始顯著提高?;诖髷?shù)據(jù)下的網(wǎng)絡(luò)信息挖掘開始受到各個(gè)領(lǐng)域的普遍關(guān)注和使用。高精準(zhǔn)度的數(shù)據(jù)挖掘技術(shù)已經(jīng)在現(xiàn)代社會(huì)的諸多領(lǐng)域中被廣泛使用,數(shù)據(jù)挖掘算法的計(jì)算精準(zhǔn)度保證就成為了促進(jìn)數(shù)據(jù)挖掘效果優(yōu)化的重要組成。因此本文將基于hadoop的數(shù)據(jù)挖掘算法探討如何提高數(shù)據(jù)挖掘的精準(zhǔn)度。
關(guān)鍵詞:hadoop數(shù)據(jù)挖掘算法;精準(zhǔn)度;數(shù)據(jù)
O 引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展,互聯(lián)網(wǎng)科技開始進(jìn)入大數(shù)據(jù)時(shí)代,在全球范圍內(nèi)每分鐘產(chǎn)生的數(shù)據(jù)量呈現(xiàn)爆炸性增長(zhǎng)趨勢(shì),一方面對(duì)數(shù)據(jù)的存儲(chǔ)提出了新要求,另一方面,如何在龐大的數(shù)據(jù)庫(kù)中挖掘出有用的相關(guān)信息也是對(duì)數(shù)據(jù)挖掘技術(shù)的關(guān)鍵問(wèn)題。云計(jì)算的出現(xiàn),為數(shù)據(jù)挖掘技術(shù)的革新創(chuàng)造了良好的條件,數(shù)據(jù)挖掘計(jì)算的成本在云計(jì)算強(qiáng)大的計(jì)算能力、龐大的存儲(chǔ)能力以及專業(yè)的管理能力的幫助下,得到了極大程度的節(jié)約,同時(shí)挖掘準(zhǔn)確程度更加精準(zhǔn),處理速度得到了顯著提升,數(shù)據(jù)挖掘的效率也能得到進(jìn)步,能夠有效解決數(shù)據(jù)挖掘技術(shù)的許多難題。
1 hadoop算法特點(diǎn)
1.1 hadoop數(shù)據(jù)挖掘算法的概念
數(shù)據(jù)挖掘是一種數(shù)據(jù)資料探勘的過(guò)程,一般而言,數(shù)據(jù)挖掘即是一種數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn)的過(guò)程,從大量的、繁瑣的、無(wú)用的數(shù)據(jù)中通過(guò)算法搜索隱藏信息,并最終用于統(tǒng)計(jì)分析、分析處理以及學(xué)習(xí)等過(guò)程中。Hadoop就是一種典型的大數(shù)據(jù)計(jì)算工具,也是一種重要的數(shù)據(jù)挖掘工具,云計(jì)算平臺(tái)的Apache開源項(xiàng)目用它來(lái)構(gòu)建,并在Apache開源項(xiàng)目的基礎(chǔ)上實(shí)現(xiàn)分布式計(jì)算平臺(tái)。由于此項(xiàng)目的分布式計(jì)算平臺(tái)在hadoop數(shù)據(jù)挖掘算法中已經(jīng)非常穩(wěn)定,且在很多領(lǐng)域中都有所應(yīng)用。在hadoop平臺(tái)上,分布式計(jì)算和文件存儲(chǔ)分別由MapReduce編程模型和HDFS分布式文件系統(tǒng)來(lái)實(shí)現(xiàn)。在hadoop平臺(tái)中繼續(xù)采用傳統(tǒng)的數(shù)據(jù)挖掘算法,進(jìn)而實(shí)現(xiàn)大規(guī)模數(shù)據(jù)的挖掘任務(wù)。作為Apache -個(gè)即將開源的項(xiàng)目:Mahout,它在提供使用MapReduce編程模型完成的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘算法的同時(shí),能有效提升創(chuàng)建智能應(yīng)用程序的效率,為開發(fā)人員減少負(fù)擔(dān)。。
1.2 hadoop數(shù)據(jù)挖掘算法的優(yōu)勢(shì)
在設(shè)計(jì)上,Hadoop致力于可拓展性、可靠性、有效性和容錯(cuò)性的高度建設(shè),這些設(shè)計(jì)上的優(yōu)點(diǎn)將決定Hadoop的地位,注定Hadoop將是受歡迎的,實(shí)際也被眾多公司所采用,而且在研究界也是大放異彩。重要的是,hadoop具有高可靠性,hadoop通過(guò)維護(hù)多個(gè)工作數(shù)據(jù)副本保證數(shù)據(jù)分析過(guò)程中假設(shè)計(jì)算元素和儲(chǔ)存的失敗節(jié)點(diǎn)進(jìn)行重新分布和處理。同時(shí),hadoop分配數(shù)據(jù)和完成計(jì)算任務(wù)是在可用的計(jì)算機(jī)集簇間完成的,hadoop的高擴(kuò)展性使這些集簇如同一滴墨水,可以輕松擴(kuò)展到龐大數(shù)目的節(jié)點(diǎn)汪洋中。
1.3 hadoop的核心結(jié)構(gòu)
hadoop由許多元素構(gòu)成。如果將hadoop比作一頓大廈,用來(lái)存儲(chǔ)hadoop集群中所有存儲(chǔ)節(jié)點(diǎn)上的文件的hadoop Distributed File System( HDFS)為基層部分。中上部分由MapReduce引擎擔(dān)任,MapReduce引擎由JobTrackers和TaskTrackers組成。hadoop分布式平臺(tái)的所有技術(shù)核心主要包括兩個(gè)部分:一是對(duì)最核心的分布式文件系統(tǒng)HDFS、MapReduce處理過(guò)程;二是基本介紹,包括對(duì)數(shù)據(jù)倉(cāng)庫(kù)T具Hive以及分布式數(shù)據(jù)庫(kù)Hbase兩個(gè)部分的介紹。
2 如何提高h(yuǎn)adoop數(shù)據(jù)挖掘算法的計(jì)算精準(zhǔn)度
傳統(tǒng)的數(shù)據(jù)挖掘很難滿足現(xiàn)階段大數(shù)據(jù)處理效率的要求,以hadoop平臺(tái)為代表的云計(jì)算技術(shù)應(yīng)用解決了大數(shù)據(jù)挖掘的瓶頸。但是基于hadoop平臺(tái)的數(shù)據(jù)挖掘算法并行化研究仍然存在一些亟待解決的問(wèn)題。如何提高h(yuǎn)adoop的數(shù)據(jù)挖掘精準(zhǔn)度,是hadoop開發(fā)過(guò)程中的重要問(wèn)題,在對(duì)典型的數(shù)據(jù)挖掘系統(tǒng)的分析和研究中,hadoop平臺(tái)集群巨大的存儲(chǔ)和計(jì)算能力具有強(qiáng)大的優(yōu)勢(shì),我們可以利用這一優(yōu)勢(shì)來(lái)組建基于hadoop平臺(tái)的數(shù)據(jù)挖掘系統(tǒng)。
2.1 設(shè)計(jì)思想簡(jiǎn)述
在傳統(tǒng)的數(shù)據(jù)挖掘系統(tǒng)中,模塊的計(jì)算量差異很大,有的需求很大,有的需求很小。在hadoop的應(yīng)用中,可以充分利用hadoop的集群特征,利用集群強(qiáng)大的并行計(jì)算和存儲(chǔ)能力,在進(jìn)行數(shù)據(jù)挖掘工作時(shí)將其中需要巨大計(jì)算能力的各個(gè)模塊的計(jì)算和存儲(chǔ)要求擴(kuò)展到hadoop集群中的各個(gè)節(jié)點(diǎn)上以便提高算法的精準(zhǔn)度。設(shè)計(jì)思想采用逐層漸進(jìn)的設(shè)計(jì)方式。龐大的數(shù)據(jù)量使用hadoop來(lái)存儲(chǔ)、分析和處理,處理過(guò)的數(shù)據(jù)作為底層,在它的上層數(shù)據(jù)的處理直接調(diào)用底層的處理數(shù)據(jù)。其流程如下:
(1)存儲(chǔ)
我們采用HDFS來(lái)存儲(chǔ)整個(gè)系統(tǒng)中的文件和數(shù)據(jù)。HDFS的優(yōu)點(diǎn)在于具有很高的數(shù)據(jù)吞吐量,并且也具有很好的容錯(cuò)機(jī)制。HDFS具有API以及各種訪問(wèn)命令的多種訪問(wèn)接口。使用HDFS可以使輸入輸出都在HDFS中進(jìn)行,輸入數(shù)據(jù)如數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘過(guò)程的輸入。同時(shí),使用HDFS可以為我們提供大量的存儲(chǔ)空間,方便對(duì)原始大數(shù)據(jù)以及臨時(shí)文件的處理。
(2)計(jì)算
在系統(tǒng)中,我們可以使用MapReduce進(jìn)行并行計(jì)算:將系統(tǒng)中大計(jì)算量數(shù)據(jù)的各個(gè)子模塊任務(wù)分配到集群的各個(gè)節(jié)中實(shí)現(xiàn)并行計(jì)算。利用MapReduce良好的伸縮性和擴(kuò)展性,通過(guò)它提供的編程接口以及屏蔽多余數(shù)據(jù)的有點(diǎn)可以實(shí)現(xiàn)各種算法的并行模式。實(shí)現(xiàn)的過(guò)程中HDFS必不可少。
2.2 系統(tǒng)結(jié)構(gòu)模型介紹
在逐層漸進(jìn)的思想指引下,白上帶下,每層都透明的調(diào)用下層接口,最上層是用于用戶與系統(tǒng)交互的交互層,最下層是用來(lái)實(shí)現(xiàn)文件分布式存儲(chǔ)和并行計(jì)算功能的分布式計(jì)算層,靠hadoop來(lái)得以實(shí)現(xiàn)。勇敢使用逐層漸進(jìn)的方式,各層之間互不影響,有利于系統(tǒng)的拓展與運(yùn)行。以下是對(duì)基于hadoopd的挖掘系統(tǒng)做個(gè)詳細(xì)的介紹:endprint
(1)交互層
這層主要負(fù)責(zé)系統(tǒng)與用戶的交互。通過(guò)詳細(xì)、表現(xiàn)形式優(yōu)良的界面窗口,讓用戶可以輕松的查看定制各種業(yè)務(wù),并能詳細(xì)了解或者保存各種輸出結(jié)果。
(2)業(yè)務(wù)應(yīng)用層
在業(yè)務(wù)應(yīng)用層中主要提供的是各種業(yè)務(wù)邏輯,以及對(duì)各種業(yè)務(wù)流程的控制和調(diào)度。這一層主要用來(lái)處理用戶提交的邏輯數(shù)據(jù)。例如用戶在交互層提交的對(duì)特定數(shù)據(jù)完成分類挖掘的業(yè)務(wù),就在這一層被處理。業(yè)務(wù)應(yīng)用層通過(guò)調(diào)用數(shù)據(jù)挖掘算法層的多個(gè)模塊來(lái)完成交互層提交的業(yè)務(wù),并返回結(jié)果到交互層。業(yè)務(wù)應(yīng)用層還控制和調(diào)度著數(shù)據(jù)挖掘平臺(tái)中各個(gè)模塊的執(zhí)行。
(3)數(shù)據(jù)挖掘平臺(tái)層
數(shù)據(jù)挖掘階段的業(yè)務(wù)流需要多個(gè)模塊組成,對(duì)于粒度的要求也較高,而數(shù)據(jù)挖掘平臺(tái)層對(duì)數(shù)據(jù)的挖掘與預(yù)處理過(guò)程、對(duì)模式的評(píng)估以及對(duì)結(jié)果的展示等操作可以達(dá)到這些高要求,因此可以稱作是整個(gè)系統(tǒng)的核心。數(shù)據(jù)挖掘平臺(tái)層的主要任務(wù)在于實(shí)現(xiàn)各種任務(wù)過(guò)程中算法的并行化,將任務(wù)提交到hadoop分布計(jì)算層進(jìn)行運(yùn)算,最后將結(jié)果返回給業(yè)務(wù)應(yīng)用層[10]。
(4)分布式計(jì)算平臺(tái)層
在分布式計(jì)算平臺(tái)層中,hadoop框架具備著集群存儲(chǔ)、計(jì)算等方面的強(qiáng)大功能。它不僅提供了分布式文件系統(tǒng)和并行的運(yùn)行模式,而且實(shí)現(xiàn)了對(duì)分布式系統(tǒng)的管理。只有在這種基礎(chǔ)功能的條件下,我們?cè)趫?zhí)行任務(wù)的過(guò)程中才能夠完成提交的server。
2.3 具體功能模塊功能
為了使系統(tǒng)中各層接受到的任務(wù)能夠得到有序執(zhí)行,每一層都有自己獨(dú)特的功能模塊,以下是對(duì)各層模塊及其功能的介紹:
(1冱層:這一層具有的模塊包括用戶管理模塊、業(yè)務(wù)模塊與展示模塊。用戶管理模塊可以識(shí)別用戶身份并進(jìn)行登錄、注銷等相應(yīng)權(quán)限的設(shè)置與管理;業(yè)務(wù)模塊可以滿足用戶需求的細(xì)粒度,完成用戶提交的業(yè)務(wù)操作;展示模塊可以查看用戶的業(yè)務(wù)結(jié)果,并能夠進(jìn)行分析操作與保存操作,將最終分析結(jié)果再次傳達(dá)給用戶。
(2)務(wù)應(yīng)用層:這一層具有的模塊包括業(yè)務(wù)響應(yīng)模塊以及工作流模塊。業(yè)務(wù)響應(yīng)模塊主要用來(lái)響應(yīng)上層的業(yè)務(wù)模塊、調(diào)用與管理子業(yè)務(wù)模塊與下層模塊;工作流模塊的運(yùn)行目的是把具體的信息參數(shù)返還給上述的業(yè)務(wù)響應(yīng)模塊,主要是對(duì)業(yè)務(wù)進(jìn)程進(jìn)行監(jiān)控與管理操作。
(3)據(jù)挖掘平臺(tái):這一層中包括的模塊較多,具體有數(shù)據(jù)加載模塊、結(jié)果存儲(chǔ)模塊、模式評(píng)估模塊以及并行ETL模塊。數(shù)據(jù)加載模塊先把所需的數(shù)據(jù)進(jìn)行注冊(cè),然后存儲(chǔ)于HDFS文件系統(tǒng);結(jié)果存儲(chǔ)模塊存儲(chǔ)信息量較大,又稱作知識(shí)庫(kù),主要是用來(lái)存放從過(guò)去到現(xiàn)在的挖掘模式;模式評(píng)估模塊主要用來(lái)評(píng)估模式,其評(píng)估結(jié)果以備調(diào)用;并行ETL模塊主要是對(duì)數(shù)據(jù)進(jìn)行預(yù)處理操作,工作數(shù)據(jù)可以從HDFS文件中調(diào)用,處理完的結(jié)果將再次儲(chǔ)存于HDFS文件,為挖掘過(guò)程進(jìn)行數(shù)據(jù)清理,提取,轉(zhuǎn)換和加載等操作。
(4)分布式計(jì)算層:hadoop框架自身具有強(qiáng)大的功能,包括HDFS,MapReduce運(yùn)行模式、運(yùn)算環(huán)境以及自動(dòng)管理等模塊。
3 總結(jié)
信息時(shí)代在快速發(fā)展,web2.0、大數(shù)據(jù)、云計(jì)算等新興概念在不斷涌現(xiàn),并隨著科技發(fā)展不斷進(jìn)行自我突破。通過(guò)結(jié)合數(shù)據(jù)挖掘與云計(jì)算各自的長(zhǎng)處,能夠在計(jì)算平臺(tái)中提供強(qiáng)大的處理能力,其在現(xiàn)階段強(qiáng)大的優(yōu)勢(shì)和在未來(lái)的潛能已成為行業(yè)的發(fā)展趨勢(shì)。由于hadhoop高速的加速比和運(yùn)行效率,大數(shù)據(jù)挖掘系統(tǒng)的關(guān)鍵部分正逐步被以hadoop為代表的分布式系統(tǒng)所取代,未來(lái)的發(fā)展?jié)摿υ谟?jì)算能力的擴(kuò)展性能中也得到了充分的體現(xiàn)。endprint