劉潤(rùn)虎 張寧 黃璜 鄔學(xué)東
摘 要:Hadoop云平臺(tái)在各個(gè)領(lǐng)域當(dāng)中都有著極其廣泛的應(yīng)用,結(jié)合云計(jì)算技術(shù)等,對(duì)相關(guān)數(shù)據(jù)管理水平的提升具有重要價(jià)值。因此,本文就基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘進(jìn)行有效分析,簡(jiǎn)要介紹了數(shù)字圖像處理流程中的預(yù)處理與特征空間構(gòu)建兩個(gè)環(huán)節(jié);然后,對(duì)海量數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng)構(gòu)建的硬件設(shè)備、軟件環(huán)境、繼承開發(fā)平臺(tái)等構(gòu)建進(jìn)行了細(xì)致分析。
關(guān)鍵詞:Hadoop云平臺(tái) 數(shù)字圖像 數(shù)據(jù)挖掘
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2017)11(b)-0113-02
數(shù)據(jù)挖掘就是在相關(guān)數(shù)據(jù)庫(kù)、信息庫(kù)等存儲(chǔ)的海量數(shù)據(jù)當(dāng)中提取有效知識(shí)的過(guò)程,這些知識(shí)本身具有一定的未知性、實(shí)用性以及有效性,隱藏于大量數(shù)據(jù)當(dāng)中,需要通過(guò)尋找信息庫(kù)中數(shù)據(jù)之間的聯(lián)系來(lái)進(jìn)一步有效獲取到所需知識(shí)。而Hadoop云平臺(tái)作為一種開源的分布式計(jì)算平臺(tái),能夠?yàn)閿?shù)據(jù)挖掘提供有效支撐,基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘,利用其HDFS系統(tǒng)與Map Reduce框架,更容易實(shí)現(xiàn)。
1 數(shù)字圖像數(shù)據(jù)挖掘流程分析
數(shù)字圖像數(shù)據(jù)挖掘的整個(gè)流程如圖1所示,其中的主要流程包括數(shù)據(jù)預(yù)處理與特征空間構(gòu)建兩個(gè)環(huán)節(jié)。
1.1 數(shù)據(jù)預(yù)處理
基于Hadoop云平臺(tái)的海量圖像數(shù)據(jù)挖掘過(guò)程需要以數(shù)據(jù)預(yù)處理的有效實(shí)現(xiàn)為基礎(chǔ),在這一過(guò)程中,首先應(yīng)明確針對(duì)圖像數(shù)據(jù)預(yù)處理的必要性。在正式展開挖掘之前,對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)處理,能夠避免原信息庫(kù)中的圖像數(shù)據(jù)中存在的病毒等臟數(shù)據(jù)或已經(jīng)損壞的數(shù)據(jù)影響數(shù)據(jù)挖掘過(guò)程的順利性。例如,數(shù)據(jù)庫(kù)中存在的分辨率極低的圖片、無(wú)法打開的被破壞的圖像信息,若未對(duì)其進(jìn)行預(yù)處理就直接展開數(shù)據(jù)挖掘,則會(huì)使數(shù)據(jù)挖掘古城陷入混亂,形成不可靠、無(wú)意義的輸出,影響挖掘效率與質(zhì)量。一般來(lái)說(shuō),針對(duì)圖像數(shù)據(jù)的預(yù)處理包括圖像數(shù)據(jù)選擇、清理以及檢查。
1.2 數(shù)據(jù)特征空間構(gòu)建
構(gòu)建圖像數(shù)據(jù)特征空間立方體,能夠方便對(duì)大型的圖像信息庫(kù)進(jìn)行多為分析,在進(jìn)行圖像提取的過(guò)程中,可將其分為兩個(gè)層次,其一是底層特征提取,其二是高層特征提取[1]。其中,高層特征提取,多基于語(yǔ)義的層次高度;包括行為分析與人臉識(shí)別等在內(nèi)的特征則都要通過(guò)底層特征提取。圖像數(shù)據(jù)底層特征是圖像分析的基礎(chǔ)部分,其中的顏色、文理與形狀的計(jì)算表簡(jiǎn)單、性能穩(wěn)定特定更加突出。
除此之外,圖像文件名稱、尺寸、創(chuàng)建時(shí)間、格式、文件描述中的關(guān)鍵字也可以作為圖像文件特征,通過(guò)有效收集構(gòu)建特征立方體,將其用于后續(xù)數(shù)據(jù)挖掘的處理,顯著提升數(shù)據(jù)挖掘效率與質(zhì)量。
2 數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng)構(gòu)建
2.1 硬件設(shè)備構(gòu)建
Hadoop云平臺(tái)構(gòu)建過(guò)程中,相關(guān)節(jié)點(diǎn)的選擇都以普通硬件廠商生產(chǎn)的標(biāo)準(zhǔn)化商業(yè)計(jì)算機(jī)。由此種硬件設(shè)備相比與低端計(jì)算機(jī)以及大型數(shù)據(jù)庫(kù)級(jí)別的計(jì)算器,性能與性價(jià)比都更符合相關(guān)應(yīng)用需求?;贖adoop平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng),同樣可選擇這種商用計(jì)算機(jī),其基本硬件配置如下:4×1TB的SATA硬盤作為存儲(chǔ)器;兩個(gè)四核CPU作為處理器,其頻率應(yīng)達(dá)到2~2.5GHz之間;16~24GB內(nèi)存的DRAM,應(yīng)具備查錯(cuò)與糾錯(cuò)的功能。有效選取節(jié)點(diǎn)之后,還應(yīng)對(duì)滿足其通信需求的交換機(jī)進(jìn)行選擇,以1GB為宜,系統(tǒng)內(nèi)部網(wǎng)絡(luò)則以千兆以太網(wǎng)為宜。
2.2 軟件環(huán)境構(gòu)建
Hadoop云平臺(tái)的主體語(yǔ)言是Java,同時(shí)也是其運(yùn)行基礎(chǔ),在任何具備JVM的平臺(tái)上都能夠正常運(yùn)行,但需要注意的是,控制腳本一類的代碼需要為其建立Unix環(huán)境才能順利執(zhí)行,所以Hadoop云平臺(tái)無(wú)法在非Unix平臺(tái)上運(yùn)行。建立基于Hadoop云平臺(tái)的數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng),可采用Ubuntu Linux系統(tǒng)為各個(gè)商業(yè)計(jì)算機(jī)節(jié)點(diǎn)的相關(guān)操作提供支持。
構(gòu)建完整、有效的軟件環(huán)境,需要相關(guān)節(jié)點(diǎn)完成以下步驟:(1)有效安裝Java,建議采用JDK,以滿足Hadoop平臺(tái)的運(yùn)行需求;(2)建立統(tǒng)一的賬號(hào)形式的Hadoop云平臺(tái)用戶賬號(hào),由此能夠區(qū)別本機(jī)與Hadoop云平臺(tái)之間的不同服務(wù),同時(shí)方便整個(gè)系統(tǒng)的有效管理;(3)以實(shí)際IP地址的分配狀況進(jìn)修改節(jié)點(diǎn)配置文件;(4)安裝協(xié)議軟件,Hadoop云平臺(tái)的控制腳本依賴SSH協(xié)議軟件,需要通過(guò)密鑰對(duì),配置無(wú)密碼的SSH登錄。
完成上述步驟之后,再進(jìn)一步搭建海量數(shù)據(jù)挖掘系統(tǒng)Hadoop云平臺(tái)。搭建過(guò)程中,采用H Base作為分布式開源數(shù)據(jù)庫(kù),在Hadoop分布式文件系統(tǒng)的基礎(chǔ)之上,所提供的全部功能與Google文件系統(tǒng)中Big Table數(shù)據(jù)庫(kù)相似。此種數(shù)據(jù)庫(kù)的應(yīng)用,其主要目的是處理較為龐大的表,將其應(yīng)用與普通計(jì)算機(jī)當(dāng)中,能夠快速處理約10億行的數(shù)據(jù),另外,該數(shù)據(jù)庫(kù)中存在的由數(shù)百萬(wàn)列元素構(gòu)成的表,能夠充分滿足海量數(shù)字圖像數(shù)據(jù)挖掘?qū)adoop云平臺(tái)的運(yùn)行需求。
采用Hive設(shè)計(jì)一個(gè)分布式數(shù)據(jù)倉(cāng)庫(kù),能夠在數(shù)據(jù)挖掘過(guò)程中提供一些簡(jiǎn)單的數(shù)據(jù)操作,例如,在數(shù)據(jù)查詢操作這一部分,與SQL語(yǔ)法相似的Hive SQL語(yǔ)言的數(shù)據(jù)查詢[2]。當(dāng)Hive SQL語(yǔ)言能力存在不足時(shí),基于Hive的分布式數(shù)據(jù)倉(cāng)庫(kù)能夠允許使用Hadoop云平臺(tái)中的Map Reduce框架,建立并行計(jì)算模型,針對(duì)復(fù)雜數(shù)據(jù)進(jìn)行有效分析。
Hadoop云平臺(tái)軟件環(huán)境的成功構(gòu)建,部署Hive或H Base都能達(dá)到相應(yīng)效果,對(duì)存儲(chǔ)于Hadoop云平臺(tái)上HDFS系統(tǒng)中的海量數(shù)字圖像數(shù)據(jù)進(jìn)行全面、有效的管理。
2.3 集成開發(fā)平臺(tái)構(gòu)建
基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng),采用Eclipse集成開發(fā)平臺(tái),往往能夠時(shí)相關(guān)程序編寫、測(cè)試、運(yùn)行等操作更加的簡(jiǎn)便,在上述Hadoop平臺(tái)的軟件環(huán)境下,應(yīng)用Eclipse Map Reduce plugins,能夠?qū)崿F(xiàn)對(duì)開發(fā)環(huán)境的圖形化處理,從而顯著降低開發(fā)難度。
2.4 Map Reduce程序編寫
編寫Map Reduce程序是數(shù)據(jù)挖掘得以實(shí)現(xiàn)的重要前提,以現(xiàn)階段的云平臺(tái)技術(shù)來(lái)看,Map Reduce程序的編寫過(guò)程多依賴于一個(gè)模板,若要進(jìn)行新的Map Reduce程序編寫,則就要對(duì)相關(guān)數(shù)據(jù)流進(jìn)行全面的認(rèn)識(shí),明確相應(yīng)的鍵值對(duì)類別。一般來(lái)說(shuō),基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘系統(tǒng)中,采用Image值類型、Text鍵類型,就能滿足相關(guān)設(shè)計(jì)要求。常規(guī)的Map Reduce程序共包含3個(gè)部分,即reduce函數(shù)、map函數(shù)與作業(yè)驅(qū)動(dòng)程序;其中reduce函數(shù)在執(zhí)行Reduce任務(wù)時(shí)被調(diào)用,在執(zhí)行Map任務(wù)時(shí),則調(diào)用相應(yīng)的map函數(shù),而作業(yè)驅(qū)動(dòng)程序則被用于配置初始化作業(yè)的過(guò)程當(dāng)中。
3 結(jié)語(yǔ)
綜上所述,對(duì)基于Hadoop云平臺(tái)的海量數(shù)字圖像數(shù)據(jù)挖掘的相關(guān)分析,有利于提升現(xiàn)階段對(duì)數(shù)字圖像數(shù)據(jù)的處理技術(shù)。通過(guò)相關(guān)挖掘系統(tǒng)的完善建立,能夠有效實(shí)現(xiàn)圖像知識(shí)的全面挖掘處理,從而為人們提供更加豐富的服務(wù)類型,解決數(shù)字圖像信息挖掘。在未來(lái)針對(duì)海量數(shù)字圖像數(shù)據(jù)的挖掘處理,應(yīng)重視Hadoop云平臺(tái)的有效利用,從而推動(dòng)信息系統(tǒng)建設(shè)與應(yīng)用的價(jià)值提升。
參考文獻(xiàn)
[1] 蔣春燕.基于Hadoop技術(shù)的圖像視頻處理的研究與應(yīng)用[D].華僑大學(xué),2016.
[2] 趙洋,潘曉鴿.基于Hadoop云平臺(tái)的海量數(shù)據(jù)信息處理的設(shè)計(jì)[J].河南科技,2014(9):11.endprint