国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的數(shù)據(jù)處理平臺的設(shè)計與開發(fā)研究

2019-09-10 07:22嚴(yán)亞寧
現(xiàn)代信息科技 2019年3期
關(guān)鍵詞:大數(shù)據(jù)

摘 要:隨著計算機(jī)和網(wǎng)絡(luò)在人們工作和生活中的廣泛普及,數(shù)據(jù)量急劇增加。目前,如何有效地收集和存儲數(shù)據(jù)是當(dāng)前需要解決的主要問題。在Hadoop技術(shù)的基礎(chǔ)上,給出了海量數(shù)據(jù)處理平臺的系統(tǒng)需求分析、系統(tǒng)架構(gòu)設(shè)計和關(guān)鍵模塊設(shè)計,并闡述了基于Hadoop技術(shù)的數(shù)據(jù)處理平臺開發(fā)的要點(diǎn),為相關(guān)研究人員提供了一些參考。

關(guān)鍵詞:數(shù)據(jù)處理平臺;大數(shù)據(jù);Hadoop

中圖分類號:TP311.13;TP391.3 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)03-0005-03

Design and Development of Data Processing Platform Based on Hadoop

YAN Yaning

(Xi’an Peihua University,Xi’an 710125,China)

Abstract:With the wide spread of computers and networks in people's work and life,the amount of data has increased dramatically. At present,how to collect and store data effectively is the main problem to be solved. On the basis of Hadoop technology,the system requirement analysis,system architecture design and key module design of mass data processing platform are given,and the key points of data processing platform development based on Hadoop technology are expounded,which provides some references for relevant researchers.

Keywords:data processing platform;big data;Hadoop

0 引 言

程序員在應(yīng)用開發(fā)中面臨的一個主要問題就是大型數(shù)據(jù)集的存儲和處理,而目前最嚴(yán)峻的服務(wù)器軟硬件考驗,就是海量以及動態(tài)的數(shù)據(jù)。隨著移動互聯(lián)網(wǎng)的快速發(fā)展,存儲數(shù)據(jù)和響應(yīng)速度的介入,也必然會使互聯(lián)網(wǎng)的發(fā)展面臨新的瓶頸期。在許多企業(yè)和大型機(jī)構(gòu)中,數(shù)據(jù)集快速批量處理技術(shù)問題一直都是企業(yè)面臨的核心問題,數(shù)據(jù)集快速批量處理具有廣泛的社會需求。因此,當(dāng)前最突出的問題就是如何快速實現(xiàn)具有交互式性能,且能對海量數(shù)據(jù)進(jìn)行批量處理的管理信息系統(tǒng),而在信息技術(shù)架構(gòu)中,數(shù)據(jù)集成項目迫切需要一種存儲模型,而該模型要具有動態(tài)可擴(kuò)展性,以實現(xiàn)快速響應(yīng)機(jī)制。在大規(guī)模數(shù)據(jù)庫中,面臨較嚴(yán)重的實際問題就是對海量數(shù)據(jù)的查詢、分析、提取、更新等批量處理問題。傳統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)存儲復(fù)雜,且查詢時間過長,尤其在數(shù)據(jù)量大,查詢?nèi)蝿?wù)復(fù)雜時,系統(tǒng)在處理數(shù)據(jù)方面就不能滿足查詢需求,系統(tǒng)性能將大大降低。同時,傳統(tǒng)數(shù)據(jù)庫也存在擴(kuò)展性差問題,可擴(kuò)展的硬件,不能有效地提高系統(tǒng)的性能。同時,傳統(tǒng)的基于并行處理的數(shù)據(jù)平臺,不能滿足海量數(shù)據(jù)的處理需求,并且維護(hù)成本高。因而,研究海量數(shù)據(jù),以及對海量數(shù)據(jù)處理技術(shù)高效性的要求,能有效提高計算機(jī)系統(tǒng)的應(yīng)用性能,推動經(jīng)濟(jì)效益的增長。本文基于Hadoop的Internet的業(yè)務(wù)計算模型,設(shè)計并實現(xiàn)了一個基于Hadoop的海量數(shù)據(jù)處理平臺,為解決關(guān)系數(shù)據(jù)庫中海量數(shù)據(jù)的處理提供了一種新的方法。

1 數(shù)據(jù)處理平臺設(shè)計

1.1 系統(tǒng)需求分析

系統(tǒng)將存儲離線數(shù)據(jù)。對于在線數(shù)據(jù),系統(tǒng)主要采用有序隔離和存儲兩種方式,在存儲數(shù)據(jù)期間,為了提高應(yīng)用程序的性能,用戶可以選擇是否允許數(shù)據(jù)丟失。最后,將得到的數(shù)據(jù)源在線處理任務(wù)結(jié)果,交由用戶提交,數(shù)據(jù)將依次進(jìn)入后續(xù)處理過程。為了使系統(tǒng)支持多種數(shù)據(jù)處理邏輯,處理流程可將一般的數(shù)據(jù)處理操作抽象為單獨(dú)的功能組件。因此,用戶只需要靈活地組裝所需的功能組件,并指定組件之間的拓?fù)潢P(guān)系。該系統(tǒng)支持用戶自定義數(shù)據(jù)處理規(guī)則。用戶在分配待處理的數(shù)據(jù)時,可以靈活選擇分配一個或多個數(shù)據(jù),以及數(shù)據(jù)處理組件,并且可以指定處理組件之間的拓?fù)浣Y(jié)構(gòu)。面對數(shù)據(jù)處理業(yè)務(wù)邏輯需求的多變性和靈活性,該系統(tǒng)具有通用性和易用性就尤為重要。因為,不同數(shù)據(jù)源產(chǎn)生的數(shù)據(jù)速度是不同的,所以,該系統(tǒng)支持多個在線任務(wù)同時運(yùn)行,同時處理多個數(shù)據(jù)源任務(wù)。因此,穩(wěn)定訪問數(shù)據(jù)源,以及穩(wěn)定操作在線任務(wù)是系統(tǒng)穩(wěn)定性的直接表現(xiàn)。為了保障系統(tǒng)恒定提供處理數(shù)據(jù)服務(wù),在設(shè)計中,應(yīng)該特別關(guān)注單點(diǎn)故障問題。系統(tǒng)除了具備及時、快速獲取流數(shù)據(jù)信息的能力,還需具備處理這些數(shù)據(jù)流的強(qiáng)大計算能力,以便快速做出響應(yīng),并反饋數(shù)據(jù)處理結(jié)果。因此,該系統(tǒng)對計算能力有著更高的要求。

1.2 系統(tǒng)架構(gòu)設(shè)計

該系統(tǒng)在數(shù)據(jù)處理流程上,遵循數(shù)據(jù)源層、計算層和存儲層的架構(gòu)設(shè)計。數(shù)據(jù)源層,主要提供對外服務(wù),負(fù)責(zé)訪問外部的數(shù)據(jù)源;計算層,基于業(yè)務(wù)邏輯,對數(shù)據(jù)流進(jìn)行數(shù)據(jù)處理;存儲層,主要負(fù)責(zé)對前期數(shù)據(jù)持久化結(jié)果。這些數(shù)據(jù)源的來源,主要是兩方面,一方面是日志數(shù)據(jù),由在線應(yīng)用程序生成;另一方面是脫機(jī)數(shù)據(jù),主要來自數(shù)據(jù)庫。這些外部應(yīng)用程序數(shù)據(jù),把數(shù)據(jù)傳輸給系統(tǒng),向外界提供穩(wěn)定的服務(wù)。為了避免數(shù)據(jù)源處理速度與系統(tǒng)處理速度不匹配的問題,我們可以考慮,將所有輸入的數(shù)據(jù)源隔離,且存儲在系統(tǒng)內(nèi)的消息隊列中,節(jié)省消耗記錄消耗數(shù)據(jù)的偏移量,這樣,不僅簡化了系統(tǒng)的計算方法,而且有利于系統(tǒng)的恢復(fù)。計算層有兩個主要功能,它將自定義規(guī)則轉(zhuǎn)換為在線任務(wù),也就是說,將自定義規(guī)則運(yùn)行在計算層中。在提交后,數(shù)據(jù)源組件將從數(shù)據(jù)源層中提取消息并將其發(fā)送出去,消息流將由一系列組件處理。確保每一次都能成功處理至少一次。每一個都在一系列組件之后進(jìn)行處理,樹結(jié)構(gòu)被稱為樹,它可以跟蹤每個樹,并且標(biāo)記樹是否可以成功地處理。如果在設(shè)定時間內(nèi)沒有樹的成功執(zhí)行,它將被標(biāo)記為執(zhí)行失敗,然后將再次啟動,每個都具有默認(rèn)消息超時設(shè)置。存儲層是數(shù)據(jù)處理結(jié)果的著陸鏈路,并根據(jù)計算層的計算結(jié)果進(jìn)行實時更新。在數(shù)據(jù)存儲層中,有必要確保系統(tǒng)以高性能保持。

1.3 關(guān)鍵模塊設(shè)計

數(shù)據(jù)源訪問模塊提供了兩種工作模式:同步調(diào)用和異步調(diào)用。同步調(diào)用的意義是,將數(shù)據(jù)發(fā)送給它并等待確認(rèn),這樣我們就可以繼續(xù)發(fā)送下一個數(shù)據(jù)。而異步調(diào)用就不同,它只要有數(shù)據(jù)等待,就能隨時進(jìn)入下一步數(shù)據(jù)發(fā)送,無需等待確認(rèn)。因此,對可以容忍少量數(shù)據(jù)丟失,同時具有高實時性的海量數(shù)據(jù)處理應(yīng)用,就可以選擇異步模式。如果選擇同步模式,對數(shù)據(jù)的安全性要求就比較低,允許部分?jǐn)?shù)據(jù)丟失。如前闡述,數(shù)據(jù)處理的整個過程,需要系統(tǒng)核心計算模塊提供,而且每個模塊處理組件都是功能獨(dú)立的個體,使用也是沒有關(guān)聯(lián)的。因此,用戶在完成所需的處理任務(wù)時,可以靈活組合各功能。數(shù)據(jù)主要有兩個特性,第一個是結(jié)果數(shù)據(jù),是系統(tǒng)對一系列數(shù)據(jù)流處理邏輯之后的結(jié)果;另一個是中間結(jié)果,是需要暫時存儲的數(shù)據(jù)。前者的數(shù)據(jù)量一般較小,后者的數(shù)據(jù)量一般相對較大。生長表可以自動劃分區(qū)塊,而且分區(qū)之后的每個區(qū)域,由表中行的子集構(gòu)成。比如,一張桌子是由一個區(qū)域組成的,最初只有一個區(qū)域,但是,隨著數(shù)據(jù)流的增加,這個地區(qū)也開始增長,當(dāng)它超過集合大小的閾值時,它將把表劃分成兩個新的區(qū)域,在一個行的邊界上具有相同的大小,并且區(qū)域的數(shù)量也會增加。

2 數(shù)據(jù)處理平臺開發(fā)

2.1 數(shù)據(jù)源級的開發(fā)

數(shù)據(jù)采集層是整個海量網(wǎng)絡(luò)數(shù)據(jù)處理平臺體系結(jié)構(gòu)的底層。首先,該系統(tǒng)需要輸入所采集到的樣本數(shù)據(jù);其次,對采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,并對其進(jìn)行分布式存儲,存儲時,必須遵循數(shù)據(jù)存儲的相關(guān)規(guī)則。目前,已有的原始數(shù)據(jù)有兩種主要類型,一種是收集的原始消息流數(shù)據(jù),數(shù)據(jù)較大,往往一小時幾兆,所以物理介質(zhì)將被傳輸?shù)礁咚倬彺鎱^(qū),且存儲在數(shù)據(jù)存儲中心,然后通過本地計算機(jī)上傳并存儲到云服務(wù)平臺;另一種是主要用于實時分析的原始數(shù)據(jù),其關(guān)鍵指標(biāo)是實時監(jiān)控移動互聯(lián)網(wǎng)相關(guān)業(yè)務(wù)的質(zhì)量,這些是基于運(yùn)營商業(yè)務(wù)需求的。同時,大量數(shù)據(jù)的轉(zhuǎn)發(fā),要在保護(hù)數(shù)據(jù)的完整性和可靠性的基礎(chǔ)上,需要一個獨(dú)立的模塊來承擔(dān)此任務(wù)。目前,交通監(jiān)控設(shè)備包括工業(yè)控制計算機(jī),收集移動互聯(lián)網(wǎng)關(guān)鍵流量數(shù)據(jù),分別生成二進(jìn)制消息列表和數(shù)據(jù)流記錄列表,并傳輸?shù)胶A烤W(wǎng)絡(luò)數(shù)據(jù)處理平臺。同時,由于存儲和數(shù)據(jù)節(jié)點(diǎn)等外部配置環(huán)境的變化,極有可能導(dǎo)致大量業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則改變,因此,值得我們考慮的關(guān)鍵問題就是數(shù)據(jù)轉(zhuǎn)發(fā)層與系統(tǒng)擴(kuò)展的兼容性問題。此外,在整個分發(fā)過程中,數(shù)據(jù)轉(zhuǎn)發(fā)層為控制管理提供接口。從功能實現(xiàn)的角度來看,將分布式和正向功能模塊有效融合,是數(shù)據(jù)轉(zhuǎn)發(fā)層的首要任務(wù),控制信息和原始數(shù)據(jù)的通信分發(fā)是由連接實現(xiàn)的。

2.2 數(shù)據(jù)計算層的開發(fā)

框架的預(yù)處理組件被設(shè)計為并行結(jié)構(gòu),并且需要通過配置文件,指定需要加載的模塊。在初始化階段,主要創(chuàng)建特定類對象,這些類是經(jīng)過預(yù)先處理的,是框架通過反射技術(shù)創(chuàng)建的。在預(yù)處理組件時,框架屬于特定的主題角色。在框架中,保持抽象觀測器角色隊列,并且每個特定實現(xiàn)類都對應(yīng)實現(xiàn)接口。當(dāng)初始化框架時,先創(chuàng)建由配置文件定義的模塊對象,然后將其添加到隊列中。當(dāng)框架從數(shù)據(jù)準(zhǔn)備組件獲取數(shù)據(jù)時,所有的觀察員都會被通知。當(dāng)用戶通過客戶端向文件系統(tǒng)提交文件時,需要將數(shù)據(jù)塊信息應(yīng)用到節(jié)點(diǎn),該節(jié)點(diǎn)包括要寫入的每個節(jié)點(diǎn)信息。當(dāng)接收到客戶端應(yīng)用時,數(shù)據(jù)塊將應(yīng)用數(shù)據(jù)寫入預(yù)先分配好的節(jié)點(diǎn),然后由節(jié)點(diǎn)采用機(jī)架感測策略選擇算法。在默認(rèn)情況下,文件系統(tǒng)的配置是采用系統(tǒng)本身默認(rèn)配置的,所有的機(jī)器都在同一機(jī)架上。一個分布式計算框架,主要用鍵值對控制數(shù)據(jù)信息的輸入和輸出。鍵值對的定義類型可以是任何數(shù)據(jù)類型,如字符串、整數(shù)、字節(jié)或用戶自定義的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)處理時,該函數(shù)首先接收一組預(yù)先定義好的鍵值對。然后,根據(jù)用戶自定義函數(shù)的功能,對輸入數(shù)據(jù)進(jìn)行處理操作,并生成一組中間鍵值對。接著,框架收斂到相同的值,這些值是系統(tǒng)在處理過程中產(chǎn)生的中間密鑰值,然后將其傳遞給該函數(shù)。該函數(shù)接收中間密鑰對的值和相應(yīng)的值的集合。最后,根據(jù)用戶定義的函數(shù),對處理后的鍵值對進(jìn)行一次性處理。

2.3 數(shù)據(jù)存儲級的開發(fā)

在數(shù)據(jù)存儲領(lǐng)域,首先使用預(yù)處理模塊對原始數(shù)據(jù)進(jìn)行預(yù)處理,得到新的原始數(shù)據(jù),然后加工原始數(shù)據(jù)得到數(shù)據(jù),為應(yīng)用層進(jìn)一步處理數(shù)據(jù)提供方便。模塊采用不同的方式讀取原始數(shù)據(jù),并對它們進(jìn)行初始處理,然后,把中間結(jié)果存儲在接口上。該模塊由數(shù)據(jù)和數(shù)據(jù)分析兩個子模塊組成,其中數(shù)據(jù)分析模塊是建立在框架上的,框架提供了模塊安裝的串口,主要功能是對海量網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行處理分析工作,并讀取數(shù)據(jù)執(zhí)行作業(yè)。本文所采用的數(shù)據(jù)導(dǎo)入框架用于海量網(wǎng)絡(luò)數(shù)據(jù)的存儲,該框架首先接收輸入數(shù)據(jù),然后采用分布式方式,將原始數(shù)據(jù)寫入存儲。同時,索引信息和統(tǒng)計數(shù)據(jù)也相應(yīng)生成。需要說明的是,本節(jié)不修改對數(shù)據(jù)的任何處理,以確保數(shù)據(jù)以完整的方式進(jìn)行存儲。這樣,我們不需要在框架中直接定義數(shù)據(jù)輸入方式,但是需要在框架中定義一個數(shù)據(jù)接口用于接收輸入的數(shù)據(jù),這個接口決定了配置文件到底加載哪個數(shù)據(jù)輸入模塊,并通過反射創(chuàng)建指定模塊的對象。當(dāng)接收或讀取記錄時,數(shù)據(jù)輸入模塊會通知框架并將記錄傳遞給框架。如果要將不同格式和不同內(nèi)容的數(shù)據(jù)通過編寫類的不同實現(xiàn)傳遞給框架,并且考慮到框架不提供數(shù)據(jù)寫入功能,所以,在具體實現(xiàn)類中,我們需要決定,是否寫入原始輸入數(shù)據(jù),是否通過框架調(diào)用數(shù)據(jù)以及是否準(zhǔn)備組件完成特定的寫入方法。

3 結(jié) 論

當(dāng)前,對于海量數(shù)據(jù)的處理,國內(nèi)外技術(shù)狀態(tài)相對滯后,需求與技術(shù)之間的矛盾日益突出。設(shè)計并搭建一個基于Hadoop的海量數(shù)據(jù)的實現(xiàn)平臺,是Hadoop技術(shù)在海量數(shù)據(jù)處理中的實際應(yīng)用,可為面向海量數(shù)據(jù)處理的系統(tǒng)開發(fā)提供參考和借鑒。

參考文獻(xiàn):

[1] 黃素萍,葛萌.Hadoop平臺在大數(shù)據(jù)處理中的應(yīng)用研究 [J].現(xiàn)代計算機(jī)(專業(yè)版),2013(29):12-15.

[2] 朱顥東,馮嘉美,張志鋒.基于Hadoop的大數(shù)據(jù)處理平臺研究 [J].華中師范大學(xué)學(xué)報(自然科學(xué)版),2017,51(5):585-590.

[3] 宋均,祝林.基于云計算的海量數(shù)據(jù)處理平臺設(shè)計與實現(xiàn) [J].電訊技術(shù),2012,52(4):566-570.

[4] 王茜,謝萍,王穎.基于Hadoop的同步相量數(shù)據(jù)處理平臺性能分析 [J].電力信息與通信技術(shù),2014,12(9):1-5.

作者簡介:嚴(yán)亞寧(1978.11-),女,漢族,陜西西安人,教師,講師,碩士研究生,研究方向:計算機(jī)軟件開發(fā)、大數(shù)據(jù)分析、數(shù)字媒體技術(shù)等。

猜你喜歡
大數(shù)據(jù)
大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索