解文祥
?
一種輕量級大數(shù)據(jù)分析系統(tǒng)的實(shí)現(xiàn)
解文祥
江蘇省海量數(shù)據(jù)技術(shù)研究所有限公司,江蘇 南京 210019
隨著信息化進(jìn)程的不斷推進(jìn),大數(shù)據(jù)時(shí)代也隨之到來。各個(gè)行業(yè)的發(fā)展都要依賴大數(shù)據(jù)分析,從而為商業(yè)決策提供最有價(jià)值的參考數(shù)據(jù)。然而面對龐大的數(shù)據(jù)量,從中提取有效信息的過程實(shí)屬不易。大數(shù)據(jù)分析技術(shù)的出現(xiàn)讓這一難題得到了有效解決。基于此,主要是通過一種輕量級大數(shù)據(jù)分析系統(tǒng)的實(shí)現(xiàn),繼而從復(fù)雜的大數(shù)據(jù)分析中解脫出來,使得相關(guān)領(lǐng)域能夠從中得到啟發(fā)。
輕量級大數(shù)據(jù);大數(shù)據(jù)分析;大數(shù)據(jù)分析系統(tǒng)
在大數(shù)據(jù)分析系統(tǒng)的實(shí)現(xiàn)中,主要通過最廣泛應(yīng)用的大數(shù)據(jù)技術(shù)Hadoop、Hive。當(dāng)前Hadoop是最常用的一種數(shù)據(jù)分析技術(shù),2004年由Google公司研發(fā)而成。目前由Apache開源組織對其進(jìn)行全權(quán)維護(hù)。在Hadoop中最關(guān)鍵的是Map Reducer編程模型、HDFS分布式文件系統(tǒng)。其中,Map Reducer模型能夠?qū)?yīng)用程序分解為許多并行計(jì)算指令,跨大量的計(jì)算節(jié)點(diǎn)運(yùn)行大規(guī)模數(shù)據(jù)集。
HDFS作為分級文件系統(tǒng)能夠進(jìn)行創(chuàng)建、刪除、移動或重命名文件等操作。在HDFS內(nèi)的儲存文件被模塊化,然后再將模塊復(fù)制到其他系統(tǒng)中。此相比于傳統(tǒng)的RAID架構(gòu)存在較大差異。HDFS文件系統(tǒng)為Map Reducer模型運(yùn)行提供了堅(jiān)實(shí)的保障。Map Reducer主要對大規(guī)模數(shù)據(jù)進(jìn)行分組,然后再對組內(nèi)進(jìn)行計(jì)算分析,最后再將所得結(jié)果進(jìn)行二次分析,得出數(shù)據(jù)的分析結(jié)果。通過分組分析法,便能夠?qū)⒉⑿杏?jì)算、大規(guī)模分析系統(tǒng)的性能進(jìn)行有效的應(yīng)用[1]。Hive是基于Hadoop上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架,其主要提供相關(guān)的應(yīng)用工具,從而對數(shù)據(jù)進(jìn)行分類、篩選,構(gòu)建的是具備存儲、查詢、分析存的大規(guī)模數(shù)據(jù)機(jī)制。
圖1 Map Reducer編程模型示意圖
具備便捷的前端交互頁面,便于應(yīng)用及構(gòu)建各種查詢條件,并對查詢結(jié)果進(jìn)行顯示;構(gòu)建查詢處理器,其可按照前端用戶的輸入要求與后端的Hadoop、Hive 系統(tǒng)進(jìn)行交互,從而得出查詢結(jié)果;具有數(shù)據(jù)管理器功能,其可以輔助查詢處理器進(jìn)行工作;具有數(shù)據(jù)分析器功能,其可以按照夠前端用戶輸入要求對查詢數(shù)據(jù)進(jìn)行分析;具備算法容器,可將各行業(yè)的分析算法存入其中;能夠與Hadoop、Hive大數(shù)據(jù)技術(shù)進(jìn)行兼容,可有效降低分析的復(fù)雜程度。
大數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì)結(jié)構(gòu):用戶交互層、查詢管理層、基礎(chǔ)設(shè)施層。其中,用戶交互層核心組件是瀏覽器。瀏覽器的主要工作:為用戶的搜索及查詢提供便捷的條件;顯示HDFS分布式系統(tǒng)中保存的數(shù)據(jù);將HDFS分布式文件系統(tǒng)中數(shù)據(jù)文件轉(zhuǎn)移至Hive數(shù)據(jù)倉庫內(nèi);顯示數(shù)據(jù)分析過程及結(jié)果。
表1 查詢管理層文件及功能實(shí)現(xiàn)
查詢管理層的組成包括:
(1)查詢構(gòu)建器。其主要將用戶交互層輸入的查詢條件構(gòu)建查詢語言,并將數(shù)據(jù)聚合類型的查詢及分析類型的查詢輸送至分析處理器進(jìn)行處理。同時(shí)將文件系統(tǒng)文件及Hive數(shù)據(jù)倉庫數(shù)據(jù)的查詢語句輸送至數(shù)據(jù)管理器進(jìn)行處理。
(2)分析處理器。其主要將查詢構(gòu)建器提供的查詢條件,通過算法倉庫中的有效算法進(jìn)行分析,然后輸送至基礎(chǔ)設(shè)施層。
(3)算法倉庫。其主要對大數(shù)據(jù)分析所用的算法進(jìn)行存儲。用戶可通過腳本語言自定義算法。
(4)數(shù)據(jù)管理器。其主要與基礎(chǔ)設(shè)施層進(jìn)行交互,并將分布式文件系統(tǒng)中保存的文件移動至Hive數(shù)據(jù)倉庫進(jìn)行管理。
(5)數(shù)據(jù)返回處理器。其主要將基礎(chǔ)設(shè)施層反饋的查詢結(jié)果輸送至用戶交互層,在接收到數(shù)據(jù)結(jié)果后再進(jìn)行有效的處理,并將其提供給用戶使用。
基礎(chǔ)設(shè)施層主要進(jìn)行大數(shù)據(jù)的管理,其主要包括相關(guān)服務(wù)器或云系統(tǒng)運(yùn)行Hadoop、Hive。此外,基礎(chǔ)設(shè)施層還具備一個(gè)接口管理器,其主要對管理層進(jìn)行交互的接口進(jìn)行有效的管理。
圖2 輕量級大數(shù)據(jù)分析系統(tǒng)結(jié)構(gòu)示意圖
用戶交互層主要通過網(wǎng)頁與用戶進(jìn)行交互實(shí)現(xiàn)。系統(tǒng)主要應(yīng)用標(biāo)準(zhǔn)的HTML語言進(jìn)行網(wǎng)頁開發(fā),然后利用RichFaces開源框架設(shè)計(jì)頁面。RichFaces主要應(yīng)用的是基于MVC架構(gòu)的Java Server Faces技術(shù)。該具備更多的功能,可多網(wǎng)頁進(jìn)行科學(xué)、合理的設(shè)計(jì)。
查詢管理層的各組件實(shí)現(xiàn)的文件如表1所示。
基礎(chǔ)設(shè)施層主要對大數(shù)據(jù)技術(shù)相關(guān)的Hadoop、Hive系統(tǒng)進(jìn)行管理,并提供連接管理器組件。通過連接管理器對Hadoop、Hive的流程進(jìn)行合理、有效的精簡[2]。
大數(shù)據(jù)分析系統(tǒng)的性能更多地取決于對系統(tǒng)硬件環(huán)境進(jìn)行規(guī)劃與管理,要相對大數(shù)據(jù)分析系統(tǒng)的性能進(jìn)行全面、細(xì)致的評價(jià),可將系統(tǒng)設(shè)置于具備Intel i3 2core系統(tǒng)的計(jì)算機(jī)中,并通過64?M內(nèi)存的HP測試平臺對其性能進(jìn)行具體的分析。
本次數(shù)據(jù)分析系統(tǒng)的實(shí)現(xiàn)是在Hadoop、Hive技術(shù)之上完成的,應(yīng)用科學(xué)、有效的軟件設(shè)計(jì)的思路,從而構(gòu)建一種輕量級的大數(shù)據(jù)分析系統(tǒng)。其不僅改善了大數(shù)據(jù)分析技術(shù)的復(fù)雜性,而且還對此系統(tǒng)的應(yīng)用范圍進(jìn)行了有效的推展,使得更多的用戶都能夠通過此系統(tǒng)分析數(shù)據(jù)。此系統(tǒng)的實(shí)現(xiàn)表明大數(shù)據(jù)分析功能已能夠符合處理的要求。
[1]周小娟.一種輕量級大數(shù)據(jù)分析系統(tǒng)的實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2016,24(8):40-43.
[2]向小佳,趙曉芳,劉洋,等.一種正交分解大數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)方法及實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2017,54(5):1097-1108.
The Implementation of a Lightweight Big Data Analysis System
Xie Wenxiang
Jiangsu Mass Data Technology Research Institute Co., Ltd., Jiangsu Nanjing 210019
With the continuous advancement of information process, the era of big data is coming. The development of each industry depends on big data analysis to provide the most valuable reference data for business decisions. However, in the face of the huge amount of data, extracting useful information from the process is not easy. The emergence of big data analysis technology has made this problem effectively solved. Based on this, it mainly achieves through the implementation of a lightweight big data analysis system, and then extricates from the complex big data analysis, so that the related fields can be inspired from it.
lightweight big data; big data analysis; big data analysis system
TP311.13
A
1009-6434(2017)11-0073-03