• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hadoop與nongoDB整合技術(shù)的大數(shù)據(jù)處理分析

      2019-12-16 01:48史小英楊浩
      電腦知識(shí)與技術(shù) 2019年29期
      關(guān)鍵詞:整合

      史小英 楊浩

      摘要:在數(shù)據(jù)類(lèi)型不斷增加,規(guī)模逐漸擴(kuò)大的趨勢(shì)下,NO SQL技術(shù)與MapReduce并行處理理念開(kāi)始備受關(guān)注。而作為N0SQL數(shù)據(jù)庫(kù)典型代表,MongoDB可索引并查詢(xún)大量數(shù)據(jù),但是其所提供的MapReduce無(wú)法滿足太過(guò)繁雜的數(shù)據(jù)分析與并行計(jì)算。而Hadoop具備強(qiáng)大的MapReduce計(jì)算能力,但實(shí)時(shí)服務(wù)延時(shí)較長(zhǎng)。對(duì)此,可基于擴(kuò)展性、數(shù)據(jù)本地化等相關(guān)要素分析,整合Hadoop與MongoDB,針對(duì)不同應(yīng)用場(chǎng)景,尋求最優(yōu)整合方式,以提高大數(shù)據(jù)處理效率與質(zhì)量。

      關(guān)鍵詞:Hadoop;MongoDB;整合;大數(shù)據(jù)處理

      中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

      文章編號(hào):1009-3044(2019)29-0001-02

      1Hadoop與MongoDB概述

      1.1Hadoop

      Hadoop包含大量元素,最底部為HDFS,作用是存儲(chǔ)所有節(jié)點(diǎn)文件,其上層為MapReduce引擎,以及數(shù)據(jù)倉(cāng)庫(kù)Hive、數(shù)據(jù)庫(kù)Hbase。Hadoop在大數(shù)據(jù)處理中實(shí)現(xiàn)廣泛應(yīng)用的關(guān)鍵在于,其數(shù)據(jù)提取、變形、加載等極具優(yōu)勢(shì)。Hadoop分布式框架推動(dòng)大數(shù)據(jù)處理引擎盡量接近存儲(chǔ),比較適合批處理操作,所以,批處理結(jié)果可直接存儲(chǔ)。Had oop的Map Reduce功能可碎片化單項(xiàng)任務(wù),并實(shí)時(shí)傳輸?shù)礁鞴?jié)點(diǎn),然后以單數(shù)據(jù)集形式向數(shù)據(jù)倉(cāng)庫(kù)加載。

      1.2MongoDB

      MongoDB是針對(duì)Web應(yīng)用程序與互聯(lián)網(wǎng)基礎(chǔ)設(shè)施所設(shè)計(jì)的數(shù)據(jù)庫(kù)管理系統(tǒng),是典型的No SQL數(shù)據(jù)庫(kù)。MongoDB以BSON為數(shù)據(jù)模型結(jié)構(gòu),其可促使MongoDB在生產(chǎn)環(huán)境下提高讀寫(xiě)能力,吞吐量明顯較強(qiáng)。而且,MongoDB還具備分片能力,可分片數(shù)據(jù)集,以此將數(shù)據(jù)存儲(chǔ)壓力分?jǐn)偟蕉嗯_(tái)服務(wù)器上。MongoDB還可檢測(cè)主節(jié)點(diǎn)的存活狀態(tài),在失活的時(shí)候,可自動(dòng)將從節(jié)點(diǎn)轉(zhuǎn)變?yōu)橹鞴?jié)點(diǎn),以轉(zhuǎn)移故障。由于BSON數(shù)據(jù)模型主要面向?qū)ο?,因此可表征十分豐富,層次化分明的數(shù)據(jù)結(jié)構(gòu)。

      2Hadoop與MongoDB整合框架

      Hadoop善于分析計(jì)算海量數(shù)據(jù),MongoDB擅長(zhǎng)分布式存儲(chǔ)與查詢(xún)數(shù)據(jù)。有機(jī)整合可發(fā)揮雙重優(yōu)勢(shì),同時(shí)滿足數(shù)據(jù)分析、計(jì)算、查詢(xún)、存儲(chǔ)等多項(xiàng)要求。整合框架具體如圖1所示。

      就Hadoop與MongoDB整合而言,使用了中間件,即Mon-goDB Hadoop Connector,作用是利用MongoDB替換HDFS,作為Map Reduce數(shù)據(jù)源,在分布式集群中,集合劃分為固定形狀的塊基于MongoDB儲(chǔ)存,而Hadoop Mappers以路由節(jié)點(diǎn)為載體并行讀取塊,解析數(shù)據(jù),然后利用Reducer合并,傳輸結(jié)果于Mon-goDB。在數(shù)據(jù)處理中,HDFS并未發(fā)揮作用,為保證Hadoop與MongoDB整合的有效性、靈活性,以及數(shù)據(jù)處理的實(shí)效性。就MongoDB Hadoop Connector進(jìn)行了優(yōu)化擴(kuò)展,即在Connector中添加Input Format與Output Format類(lèi),以HDFS與MongoDB為Map Reduce可選擇輸入源或者輸出目標(biāo)。

      Hadoop與MongoDB整合方案以配置方式不同劃分為四類(lèi),即:一是基于HDFS讀取數(shù)據(jù),并編入計(jì)算結(jié)果;二是基于HDFS讀取數(shù)據(jù),在MongoDB中編寫(xiě)計(jì)算結(jié)果;三是基于Mon_goDB讀取數(shù)據(jù),在HDFS編寫(xiě)計(jì)算結(jié)果;四是基于MongoDB讀取數(shù)據(jù),并編入計(jì)算結(jié)果。針對(duì)三種不同應(yīng)用場(chǎng)合對(duì)各方案性能進(jìn)行評(píng)估與測(cè)試,即:一是Read=Write,讀寫(xiě)大致相同;Read>>Write,讀明顯大于寫(xiě);Read<

      3集群部署策略

      Hadoop與MongoDB整合框架計(jì)算與查詢(xún)海量大數(shù)據(jù)時(shí),集群部署環(huán)節(jié)十分關(guān)鍵。

      3.1MongoDB分片

      為方便操作,在副本集只設(shè)計(jì)了兩臺(tái)機(jī)器,即主服務(wù)器與從服務(wù)器。通過(guò)科學(xué)合理設(shè)置參數(shù),其中主服務(wù)器的任務(wù)是寫(xiě),從服務(wù)器的作用是讀,以此分?jǐn)傊鞣?wù)器寫(xiě)的壓力。

      3.2數(shù)據(jù)本地化

      在Hadoop與MongoDB整合集群中,數(shù)據(jù)本地化主要基于Hadoop Task Trackers、Data Nodes與MongoDB分片服務(wù)器相互交叉重疊加以實(shí)現(xiàn)。但是,需要同時(shí)實(shí)現(xiàn)數(shù)據(jù)本地化與Mon-goDB分片讀寫(xiě)相分離,需要把Hadoop Task Trackers和DataNodes分配于MongoDB分片從節(jié)點(diǎn)。如此一來(lái),Map Reduce便可從MongoDB分片從節(jié)點(diǎn)中進(jìn)行數(shù)據(jù)讀取,在經(jīng)過(guò)處理之后,將數(shù)據(jù)再次編寫(xiě)于MongoDB主服務(wù)器。

      4實(shí)驗(yàn)分析

      4.1數(shù)據(jù)

      選用某數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。在Hadoop與MongoDB整合框架中,針對(duì)數(shù)據(jù)進(jìn)行極具代表性的三種應(yīng)用進(jìn)行場(chǎng)景模擬。其一,F(xiàn)ilter,以模擬Read>>Write場(chǎng)景;其二,Recorder,以模擬Read=Write場(chǎng)景;其三,Merge,以模擬Read<

      4.2配置

      實(shí)驗(yàn)選用總節(jié)點(diǎn)數(shù)是19,包含Name Node、路由器、服務(wù)器;Hadoop Data Node、Task Track、MongoDB分片進(jìn)行交叉部署的主節(jié)點(diǎn)數(shù)為8,從節(jié)點(diǎn)數(shù)為8。

      4.3結(jié)果分析

      4.3.1數(shù)據(jù)加載與導(dǎo)出性能

      相比MongoDB,HDFS數(shù)據(jù)加載與導(dǎo)出性能更好,這主要是由于HDFS不需讀取數(shù)據(jù),解析并序列化,然后基于數(shù)據(jù)庫(kù)格式于磁盤(pán)進(jìn)行存儲(chǔ),數(shù)據(jù)加載與導(dǎo)出操作只是簡(jiǎn)單地復(fù)制或者移動(dòng)文件。HDFS數(shù)據(jù)導(dǎo)人與導(dǎo)出性能和數(shù)據(jù)大小之間為正相關(guān)關(guān)系,MongoDB數(shù)據(jù)導(dǎo)入與導(dǎo)出性能則是在數(shù)據(jù)集逐漸加大的趨勢(shì)下,速率快速下降,尤其是導(dǎo)入速率。

      4.3.2不同方案下的不同應(yīng)用性能

      在輸入遠(yuǎn)遠(yuǎn)超出輸出時(shí),數(shù)據(jù)處理情況具體如表1所示。其中方案三與方案一對(duì)比分析,就數(shù)據(jù)輸人源不同,但是方案一速率更高,所以,基于MongoDB讀取數(shù)據(jù)的成本耗費(fèi)比較大。而四個(gè)方案對(duì)比分析,可知彼此間性能差異較小,主要是由于輸出數(shù)據(jù)很小,寫(xiě)入數(shù)據(jù)的位置難以很大程度上對(duì)性能造成影響。

      在輸入與輸出相等時(shí),數(shù)據(jù)處理情況具體如表2所示。不同的數(shù)據(jù)集中,方案一速率最高,時(shí)間最短,相同輸入時(shí),輸出結(jié)果的編寫(xiě)位置直接影響著性能,所以,相同數(shù)據(jù)集在進(jìn)行相同處理,但是選擇不同整合方案時(shí),方案三的性能與方案一最相近間。

      4.3.3不同方案配置的可擴(kuò)展性

      不同方案配置的可擴(kuò)展性具體如表3所示。其中,集群規(guī)模通過(guò)4核向8核擴(kuò)展時(shí),四個(gè)方案整體性能都有顯著提升,而且從表可看出,各方案的讀、寫(xiě)、處理時(shí)間都有十分明顯地縮減。

      Hadoop與MongoDB整合集群擴(kuò)展到8核的時(shí)候,內(nèi)存與CPU利用率都會(huì)降低,可緩解二者制約性,從而使得性能快速優(yōu)化提升,所以可知內(nèi)存與CPU占用率太大,會(huì)導(dǎo)致性能?chē)?yán)重?fù)p失,而Hadoop與MongoDB整合可橫向擴(kuò)展添加節(jié)點(diǎn),從而有效彌補(bǔ)?;趦?nèi)存與CPU充分狀態(tài),方案四以集群規(guī)模不斷擴(kuò)大的方式,可快速縮減讀取時(shí)間,這主要是由于集群規(guī)模擴(kuò)大,Map增多,可同時(shí)并行讀取數(shù)據(jù)。但是寫(xiě)發(fā)生于Reduce階段,盡管擴(kuò)大集群規(guī)模,也可促使Reduce并發(fā)數(shù)增多,然而把數(shù)據(jù)分發(fā)于MongoDB分片服務(wù)器需要耗費(fèi)過(guò)多成本,所以寫(xiě)的性能并未出現(xiàn)顯著提升。

      5結(jié)論

      綜述,通過(guò)實(shí)驗(yàn),基于Hadoop與MongoDB整合處理大數(shù)據(jù),得出結(jié)論:選擇方案一,處理MongoDB數(shù)據(jù),需先導(dǎo)出并傳輸于HDFS,在Hadoop處理之后,把結(jié)果導(dǎo)回MongoDB,以此反復(fù)導(dǎo)人導(dǎo)出,成本消耗過(guò)大,所以此方案數(shù)據(jù)處理性能最差;選擇方案二,針對(duì)非MongoDB數(shù)據(jù)或已儲(chǔ)存于HDFS數(shù)據(jù),需密集型讀,需查詢(xún)處理結(jié)果時(shí),此配置可提供最優(yōu)化性能;選擇方案三,針對(duì)已儲(chǔ)存于MongoDB的數(shù)據(jù),需密集型寫(xiě),結(jié)果集應(yīng)基于Map Reduce進(jìn)行后續(xù)處理,此方案可提供最優(yōu)化性能;選擇方案四,針對(duì)已儲(chǔ)存于MongoDB的數(shù)據(jù),統(tǒng)計(jì)并聚合計(jì)算,需查詢(xún)結(jié)果集時(shí),此方案可提供最優(yōu)性能。

      猜你喜歡
      整合
      談高職院校計(jì)算機(jī)教學(xué)中學(xué)生創(chuàng)新能力培養(yǎng)
      淺析信息技術(shù)與小學(xué)數(shù)學(xué)教學(xué)整合
      記初中英語(yǔ)詞匯教學(xué)的一次歸類(lèi)、整合改革及反思
      峨眉山市| 彰化县| 监利县| 永康市| 纳雍县| 中方县| 荣昌县| 渭源县| 昔阳县| 松阳县| 武安市| 新乐市| 易门县| 池州市| 庄浪县| 融水| 阳山县| 黄梅县| 锡林浩特市| 福建省| 永兴县| 南投县| 南康市| 德钦县| 抚顺县| 夹江县| 友谊县| 工布江达县| 仁寿县| 德令哈市| 余江县| 满城县| 黑山县| 霍山县| 安西县| 砚山县| 南漳县| 象州县| 香格里拉县| 鄱阳县| 贵州省|