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

?

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

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

史小英 楊浩

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

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

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

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

1Hadoop與MongoDB概述

1.1Hadoop

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

1.2MongoDB

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

2Hadoop與MongoDB整合框架

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

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

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

3集群部署策略

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

3.1MongoDB分片

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

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

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

4實驗分析

4.1數(shù)據(jù)

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

4.2配置

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

4.3結(jié)果分析

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

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

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

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

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

4.3.3不同方案配置的可擴展性

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

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

5結(jié)論

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

猜你喜歡
整合
談高職院校計算機教學(xué)中學(xué)生創(chuàng)新能力培養(yǎng)
淺析信息技術(shù)與小學(xué)數(shù)學(xué)教學(xué)整合
記初中英語詞匯教學(xué)的一次歸類、整合改革及反思