鄭艷飛 荊培強(qiáng) 丁敏
摘要
伴隨著我國信息技術(shù)和地觀測(cè)技術(shù)的快速發(fā)展,空間大數(shù)據(jù)的指數(shù)呈現(xiàn)出快速的增長,其地理位置信息服務(wù)業(yè)逐漸成為人們平時(shí)生活中的必須??臻g數(shù)據(jù)管理是地理服務(wù)的核心所在,它的性能好壞是能夠直接影響到地理信息的服務(wù)能力的。
【關(guān)鍵詞】Spark 空間大數(shù)據(jù) 實(shí)時(shí)查詢 框架特點(diǎn)
隨著我國地理信息服務(wù)從專業(yè)化逐漸轉(zhuǎn)向大眾服務(wù)和云計(jì)算服務(wù)中,我國地理信息計(jì)算的實(shí)時(shí)性查詢和分析的要求也逐漸提高?,F(xiàn)目前,我國實(shí)時(shí)地理信息服務(wù)主要是存在兩個(gè)方面的性能問題;第一是傳統(tǒng)空間索引方法大多都是基于磁盤的相關(guān)特性來進(jìn)行設(shè)計(jì)的,在進(jìn)行空間大數(shù)據(jù)實(shí)時(shí)查詢分析過程中需要通過多次的訪問,在一定程度上是會(huì)造成實(shí)時(shí)效果不佳。第二是磁盤性能的問題,在某種程度上是會(huì)直接造成其無法高效率的存儲(chǔ)持續(xù)增加的大量空間數(shù)據(jù),很難去支持高并發(fā)用戶的實(shí)時(shí)查詢等。在內(nèi)存計(jì)算技術(shù)當(dāng)中能夠?yàn)閷?shí)時(shí)地理服務(wù)提供一種解決辦法,那就是充分利用集群搞西寧花鞥的云計(jì)算特性以及相關(guān)內(nèi)存計(jì)算的性能,在某種層面上是能夠充分的讓傳統(tǒng)的地理信息服務(wù)技術(shù)得到相關(guān)的優(yōu)化,讓Spark的空間大數(shù)據(jù)實(shí)時(shí)查詢分析能夠有所改善。
1 Spark簡(jiǎn)述
Spark是專門為大規(guī)模的數(shù)據(jù)處理所涉及出的快速通用計(jì)算引擎。Sark是國外AMP實(shí)驗(yàn)室所開發(fā)出來的類似于HadoopMapReduce,通用并行的機(jī)構(gòu)框架。當(dāng)Spark出現(xiàn)時(shí),其所具有Hadoop MapReduce的所有優(yōu)點(diǎn)特質(zhì)。但是Spark不同于HadoopMapReduce是一點(diǎn)就是在job中間所輸出的相關(guān)結(jié)果是可以充分的保存在計(jì)算機(jī)內(nèi)存當(dāng)中的。
2 HDFS與MapReduce結(jié)構(gòu)原理
在大數(shù)據(jù)當(dāng)中,結(jié)構(gòu)化數(shù)據(jù)是最為常見的一種,但是更多的則是大量的半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。根據(jù)數(shù)據(jù)儲(chǔ)存空間大的問題,在一般處理的思想之上首先想到的一般都是分布式儲(chǔ)存。然而分布式儲(chǔ)存系統(tǒng),是將大數(shù)據(jù)分散在各個(gè)儲(chǔ)存獨(dú)立設(shè)備上。
3 Spark的相關(guān)特點(diǎn)
3.1 快速
在面向磁盤的MapReduce受限于磁盤讀寫性能以及網(wǎng)絡(luò)性能的相關(guān)約束,在進(jìn)行處理迭代計(jì)算,交互式數(shù)據(jù)查詢以及實(shí)時(shí)計(jì)算等各方面都不算是高效的。但是這些卻在數(shù)據(jù)挖掘,圖計(jì)算等相關(guān)應(yīng)用范圍當(dāng)中是較為常見的。我們針對(duì)上述不足問題,充分將大數(shù)據(jù)儲(chǔ)存在內(nèi)存當(dāng)中并且給予內(nèi)存在進(jìn)行計(jì)算是有個(gè)有效解決這個(gè)問題的方法。Spark是面向內(nèi)存的大數(shù)據(jù)處理計(jì)算引擎,在一定程度上這也會(huì)讓Spark能夠?yàn)槎鄠€(gè)不同數(shù)據(jù)提供實(shí)時(shí)查詢分析的功能,其適用的范圍是需要進(jìn)行多次操作并且要根據(jù)實(shí)際的特定數(shù)據(jù)集的應(yīng)用場(chǎng)景來進(jìn)行確定的。
3.2 簡(jiǎn)潔容易使用
在使用MapReduce開發(fā)應(yīng)用程序期間,用戶通常所關(guān)注的重點(diǎn)和難點(diǎn)都是將一個(gè)需求的作業(yè)分拆成為map和Reduce這兩部分。因?yàn)镸apReduce當(dāng)中僅是為大數(shù)據(jù)處理提供了相應(yīng)的兩個(gè)操作,第一是Map,第二是Reduce.所以在系統(tǒng)開發(fā)工作人員中其需要解決的難題就是怎樣去將數(shù)據(jù)處理的業(yè)務(wù)邏輯進(jìn)行科學(xué)合理的封裝在這兩個(gè)類型當(dāng)中。
3.3 通用
當(dāng)前Spark相對(duì)于最初的大數(shù)據(jù)生態(tài)系統(tǒng)MapReduce與Hadoop,在Spark中其不論是在性能還是在策劃方案的統(tǒng)一上,都是有著巨大的優(yōu)勢(shì)。Spark的框架包括了很多個(gè)緊密集成的相關(guān)組件。如圖三所示。在位于底層的是Apache core,在某種程度上其能夠去實(shí)現(xiàn)Spark的作業(yè)調(diào)度,容錯(cuò)和內(nèi)存管理以及交互等諸多功能,并且其能夠針對(duì)彈性分布式數(shù)據(jù)提供較為豐富的操作。
3.4 多種的運(yùn)行模式
Spark是能夠支持多種運(yùn)行模式的;其具有本地local運(yùn)行模式和分布式運(yùn)行模式。Spark的集群底層資源是可以充分的借助于外部的框架進(jìn)行相關(guān)管理的?,F(xiàn)目前在spark和yam提供相對(duì)穩(wěn)定的支持方式。
4 Spark和MapReduce
Spark和MapReduce都是數(shù)據(jù)處理層的兩大核心。下面我們通過對(duì)這兩者進(jìn)行容錯(cuò),性能和應(yīng)用場(chǎng)景上的具體分析。
容錯(cuò)分析:在執(zhí)行過程中出現(xiàn)失敗時(shí),MapReduce是會(huì)從失敗位置進(jìn)行任務(wù)的繼續(xù)執(zhí)行,因?yàn)槠涫且蕾囋谟脖P驅(qū)動(dòng)器上的。反之,Spark若是在執(zhí)行期間出現(xiàn)失敗時(shí),它就會(huì)從頭開始執(zhí)行,在一定程度上MapReduce是會(huì)比Spark在執(zhí)行任務(wù)上節(jié)約了很多的時(shí)間。
性能分析:MapReduce是通過MAP和Reduce這兩個(gè)過程來操作磁盤中數(shù)據(jù)的處理。而Spark是在內(nèi)存中處理數(shù)據(jù)的。在這個(gè)層面中Spark是要優(yōu)于MapReduce的。但是,每當(dāng)數(shù)據(jù)量較為龐大時(shí),很難去全部對(duì)數(shù)據(jù)進(jìn)行讀入內(nèi)存時(shí),那么MapReduce就會(huì)比Spark有優(yōu)勢(shì)。
應(yīng)用場(chǎng)景分析:Spark是可以應(yīng)用在很多的大數(shù)據(jù)實(shí)時(shí)查詢和迭代分析場(chǎng)景的。而MapReduce一般都是要進(jìn)行理縣計(jì)算處理,計(jì)算有些已經(jīng)存在的數(shù)據(jù)進(jìn)行分析。
5 結(jié)語
隨著現(xiàn)代化網(wǎng)絡(luò)的快速發(fā)展,我們進(jìn)入到了數(shù)據(jù)時(shí)代,對(duì)于大量的數(shù)據(jù)分析技術(shù)也是層出不窮。在基于計(jì)算引擎空間大數(shù)據(jù)實(shí)時(shí)查詢分析中,通過將Spark充分的加入空間大數(shù)據(jù)實(shí)時(shí)查詢中,來解決在大數(shù)據(jù)和高發(fā)用戶背景下空間數(shù)據(jù)管理的相關(guān)問題。在一定程度上能夠讓實(shí)時(shí)查詢系統(tǒng)在實(shí)際運(yùn)用中能夠更優(yōu)化,從而增強(qiáng)數(shù)據(jù)的實(shí)時(shí)性,讓其在大數(shù)據(jù)時(shí)代下能夠發(fā)揮出自身的優(yōu)越性。
參考文獻(xiàn)
[1]龔燦,盧軍.基于Spark的實(shí)時(shí)情境推薦系統(tǒng)關(guān)鍵技術(shù)研究[J].電子測(cè)試,2016(Z1):48-50.
[2]云惟英,茍宇,王京,等.基于SparkStreaming的實(shí)時(shí)流數(shù)據(jù)處理模型化研究與實(shí)現(xiàn)[J].測(cè)繪與空間地理信息,2017,40(z1).