999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spark平臺的地理數(shù)據(jù)并行裝載技術(shù)

2016-02-13 05:58:14賀夢潔朱美正
軟件 2016年12期
關(guān)鍵詞:進(jìn)程

賀夢潔,朱美正,初 寧,楊 崗

(1. 中國電子科技集團(tuán)第十五研究所,北京 100000;2. 中國電子設(shè)備系統(tǒng)工程公司研究所,北京 100000)

基于Spark平臺的地理數(shù)據(jù)并行裝載技術(shù)

賀夢潔1,朱美正1,初 寧2,楊 崗2

(1. 中國電子科技集團(tuán)第十五研究所,北京 100000;2. 中國電子設(shè)備系統(tǒng)工程公司研究所,北京 100000)

隨著地理信息系統(tǒng)研究的不斷深入發(fā)展,其應(yīng)用領(lǐng)域不斷擴(kuò)張,地理數(shù)據(jù)規(guī)模越來越大,高性能的地理數(shù)據(jù)處理成為迫切并且必然的要求。為了適應(yīng)地理信息系統(tǒng)發(fā)展的需要,本文設(shè)計(jì)了基于Spark平臺的地理數(shù)據(jù)并行處理框架,并最終設(shè)計(jì)實(shí)現(xiàn)了地理數(shù)據(jù)并行裝載技術(shù),使得地理數(shù)據(jù)裝載效率得到顯著提高,為今后實(shí)現(xiàn)地理數(shù)據(jù)實(shí)時更新、訪問、分析等奠定了良好的基礎(chǔ)。

Spark;地理信息系統(tǒng);并行裝載

0 引言

隨著信息時代的來臨,人們對地理數(shù)據(jù)的依賴性越來越強(qiáng)。如今線上貿(mào)易滲透到生活的每個角落,物流公司需要利用地理數(shù)據(jù)節(jié)約成本、提高效率;經(jīng)銷商需要參考地理數(shù)據(jù)做出重要的商業(yè)決策;人們出行也基本不再使用紙質(zhì)地圖,有地圖應(yīng)用可以給出詳細(xì)的路線指導(dǎo)。可見,衣、食、住、行無不和地理數(shù)據(jù)相關(guān),因此對地理數(shù)據(jù)的需求量逐年呈爆炸式增長,稱為海量亦不為過。與此同時,對地理數(shù)據(jù)處理的性能需求也越來越高。地理數(shù)據(jù)處理包括裝載、組織、查詢、分析等等,傳統(tǒng)的單個CPU的計(jì)算資源,單進(jìn)程、集中式的數(shù)據(jù)處理方式已經(jīng)遠(yuǎn)遠(yuǎn)無法滿足目前的性能需求,為了突破傳統(tǒng)處理方式的限制,考慮在高并發(fā)空間大數(shù)據(jù)庫的基礎(chǔ)上,采用多機(jī)、多進(jìn)程、分布式的數(shù)據(jù)并行處理方式,充分利用并行計(jì)算巨大的數(shù)值計(jì)算和數(shù)據(jù)處理能力的優(yōu)勢,實(shí)現(xiàn)海量地理數(shù)據(jù)的快速裝載、組織、查詢、分析、更新和訪問。

地理數(shù)據(jù)并行裝載技術(shù)是地理數(shù)據(jù)并行處理的第一步,也是后續(xù)處理的基礎(chǔ)。完整、正確且合理平均的將相關(guān)地理數(shù)據(jù)裝載到相應(yīng)的分布式存儲系統(tǒng),才能保證后續(xù)檢索、更新和訪問等處理過程的效率。因此地理數(shù)據(jù)并行裝載技術(shù)對于海量地理數(shù)據(jù)高效處理的意義尤為重要。

本文將從Spark分布式并行計(jì)算平臺、基于Spark平臺的地理數(shù)據(jù)并行處理框架、地理數(shù)據(jù)并行裝載技術(shù)等方面進(jìn)行詳細(xì)介紹。

1 基于Spark平臺的地理數(shù)據(jù)并行處理框架

1.1 Spark分布式并行計(jì)算平臺

Spark于2009年誕生于加州大學(xué)伯克利分校AMPLab[1],目前已經(jīng)成為大數(shù)據(jù)領(lǐng)域應(yīng)用最廣泛、最高效的通用集群計(jì)算平臺。Spark是基于MapReduce思想實(shí)現(xiàn)的分布式并行計(jì)算框架,繼承了Hadoop的MapReduce的優(yōu)點(diǎn),但相比MapReduce有更多拓展應(yīng)用和更高效的計(jì)算模型。

Spark創(chuàng)造性地提出了分布式內(nèi)存存儲結(jié)構(gòu)彈性分布式數(shù)據(jù)集RDD的概念,在此基礎(chǔ)上可以在Spark這個統(tǒng)一的框架下高效地支持包括批處理、迭代算法、交互式查詢、流處理等在內(nèi)的多種計(jì)算模式。

大數(shù)據(jù)計(jì)算流程往往分為多個階段,在MapReduce中,不同計(jì)算階段之間重用數(shù)據(jù),需要將上一個階段的計(jì)算結(jié)果保存到外部存儲系統(tǒng)(如分布式文件系統(tǒng)HDFS)中[10],由此導(dǎo)致了大量的數(shù)據(jù)復(fù)制、磁盤I/O、序列化、反序列化等開銷[2],大大降低了計(jì)算效率。而Spark將執(zhí)行模型抽象為通用的有向無環(huán)圖執(zhí)行計(jì)劃(DAG),可以將有多個計(jì)算階段的任務(wù)串聯(lián)或者并行執(zhí)行,計(jì)算階段的中間結(jié)果用分布式內(nèi)存存儲結(jié)構(gòu)彈性分布式數(shù)據(jù)集RDD的形式存儲在內(nèi)存中,因此不同計(jì)算階段之間只需讀寫內(nèi)存,無需讀寫磁盤[8]。在內(nèi)存空間不足的情況下,也可以像Hadoop一樣存儲在磁盤上。相對于MapReduce上的批量計(jì)算、迭代型計(jì)算以及基于Hive的SQL查詢,Spark可以帶來上百倍的性能提升[1]。

Spark所提供的接口非常豐富。除了提供基于Python、Java、Scala和SQL的簡單易用的API以及內(nèi)建的豐富的程序庫之外,Spark還能和其他大數(shù)據(jù)工具密切配合使用[3]。AMPLab開發(fā)以Spark為核心的伯克利數(shù)據(jù)分析棧(BDAS)的目標(biāo)是在一套軟件棧內(nèi)完成各種大數(shù)據(jù)計(jì)算任務(wù)。BDAS涵蓋支持結(jié)構(gòu)化數(shù)據(jù)SQL查詢與分析的查詢引擎Spark SQL和Shark,提供機(jī)器學(xué)習(xí)功能的系統(tǒng)MLbase及底層的分布式機(jī)器學(xué)習(xí)庫MLlib、并行圖計(jì)算框架GraphX、流計(jì)算框架Spark Streaming、采樣近似計(jì)算查詢引擎BlinkDB、內(nèi)存分布式文件系統(tǒng)Tachyon、資源管理框架Mesos等組件[1],這些組件和Spark緊密集成,共享數(shù)據(jù),因此可以構(gòu)建出無縫整合不同處理模型的應(yīng)用[9]。

以上這些優(yōu)點(diǎn)和特性使得Spark成為目前大數(shù)據(jù)處理首選的計(jì)算平臺,也是本文將Spark應(yīng)用于海量地理數(shù)據(jù)處理系統(tǒng)的原因。

1.2 適用于并行處理的地理數(shù)據(jù)模型

數(shù)據(jù)模型是并行計(jì)算的基礎(chǔ),空間數(shù)據(jù)組織結(jié)構(gòu)是否合理直接決定數(shù)據(jù)并行處理的性能,決定數(shù)據(jù)部署、維護(hù)、檢索、獲取的效率,尤其是對于海量空間數(shù)據(jù)的處理更是重要。為了實(shí)現(xiàn)地理數(shù)據(jù)的高效處理,需要重點(diǎn)研究并行計(jì)算環(huán)境下地理數(shù)據(jù)模型應(yīng)該滿足的要求,如空間實(shí)體對象的完整性特征,空間實(shí)體對象之間不存在緊耦合狀態(tài),彼此相互獨(dú)立,其拓?fù)洹⒍攘康汝P(guān)系可動態(tài)創(chuàng)建等等[6]。地理數(shù)據(jù)模型及數(shù)據(jù)結(jié)構(gòu)應(yīng)適用于并行I/O操作,可實(shí)現(xiàn)基于這類數(shù)據(jù)模型的并行快速查詢和迅速處理。

考慮以上特征,設(shè)計(jì)了面片,這種非結(jié)構(gòu)化地理數(shù)據(jù)模型作為地理數(shù)據(jù)并行處理的對象單元。首先,地理數(shù)據(jù)按數(shù)據(jù)類別(如矢量數(shù)據(jù)、影像數(shù)據(jù)等)分類存儲。某一類數(shù)據(jù)分N個面片數(shù)據(jù)集存于分布式數(shù)據(jù)庫系統(tǒng)的各個物理存儲節(jié)點(diǎn)上。每個面片數(shù)據(jù)集有固定的空間參考、面片劃分方案、資源類型、面片類型、應(yīng)用類型、面片格式。面片數(shù)據(jù)集內(nèi)部又按不同級別對面片分類,每種級別對應(yīng)一個確定大小的比例尺,級別越大對應(yīng)的分辨率越高、比例尺越大,支持創(chuàng)建金字塔數(shù)據(jù)。每個級別數(shù)據(jù)集里又分為N個桶或桶集,桶集包含N個桶,按桶組織可以避免因面片數(shù)目巨大而造成管理低效,更易于部署、更新、遷移。桶里可以按多個版本區(qū)分?jǐn)?shù)據(jù),版本表示數(shù)據(jù)來源、年份等等含義。版本數(shù)據(jù)集再包含面片數(shù)據(jù),面片數(shù)據(jù)是數(shù)據(jù)存儲的最小粒度單位。桶集有桶分布位圖,反映哪些桶有數(shù)據(jù);桶有面片分布位圖,反映某個桶的某個版本的面片分布情況。面片的邏輯模型如圖1所示。

圖1 面片的邏輯模型Fig.1 Piece Logical Model

面片這種數(shù)據(jù)模型互相獨(dú)立,可存儲于分布式數(shù)據(jù)庫,適用于并行I/O操作,在此基礎(chǔ)上可實(shí)現(xiàn)地理數(shù)據(jù)分布式并行處理。

1.3 地理數(shù)據(jù)并行處理框架

1.3.1 Spark開發(fā)環(huán)境及其分布式集群搭建

目前Apache Spark 支持三種分布式部署方式,分別是standalone、spark on Mesos和spark on YARN[7]。Standalone模式,即獨(dú)立模式,其內(nèi)部實(shí)現(xiàn)了容錯性和資源管理,無需依賴任何其他資源管理系統(tǒng)。后兩種則是在企業(yè)級應(yīng)用和工業(yè)生產(chǎn)中常用的模式,部分容錯性和資源管理交由統(tǒng)一的資源管理系統(tǒng)完成,讓Spark運(yùn)行在一個通用的資源管理系統(tǒng)之上,這樣可以和其他計(jì)算框架共用一個集群資源,最大的好處是降低運(yùn)維成本和提高資源利用率。從一定程度上來說,standalone模式是后兩種模式的基礎(chǔ)。借鑒spark開發(fā)模式,我們可以得到一種開發(fā)新的計(jì)算框架的一般思路:為了快速開發(fā),可以暫不考慮服務(wù)(比如master/slave)的容錯性,先設(shè)計(jì)出它的standalone模式(目前spark在standalone模式下沒有單點(diǎn)故障問題,這是借助zookeeper實(shí)現(xiàn)的),之后在開發(fā)相應(yīng)的wrapper,將standalone模式下的服務(wù)原封不動地部署到資源管理系統(tǒng)mesos或yarn上,由資源管理系統(tǒng)負(fù)責(zé)服務(wù)本身的容錯。由于在項(xiàng)目初期,本文設(shè)計(jì)的地理數(shù)據(jù)并行處理框架就是在spark的standalone模式下實(shí)現(xiàn)的。

本文的實(shí)驗(yàn)測試環(huán)境為兩臺Linux測試機(jī)。集群包括一個master節(jié)點(diǎn)和兩個worker節(jié)點(diǎn),兩個worker節(jié)點(diǎn)分別部署在兩臺機(jī)器上,其中一臺機(jī)器同時作為master節(jié)點(diǎn)。每個worker節(jié)點(diǎn)有多個CPU,以達(dá)到多機(jī)、多進(jìn)程并行處理的目的。測試使用的Spark集群如圖2所示。

圖2 本文測試使用的Spark集群模型及其硬件信息Fig.2 Spark Cluster Model of Test and Its Hardware Information

1.3.2 基于Spark的地理數(shù)據(jù)并行處理框架

Spark應(yīng)用是用戶提交的應(yīng)用程序。Driver進(jìn)程是Spark應(yīng)用的主控進(jìn)程,負(fù)責(zé)應(yīng)用的解析、切分Stage并調(diào)度Task到Executor執(zhí)行,包含DAGScheduler等重要對象。Spark應(yīng)用的提交包含兩種方式:其一,Driver進(jìn)程運(yùn)行在客戶端,對應(yīng)用進(jìn)行管理監(jiān)控;其二,主節(jié)點(diǎn)指定某個Worker節(jié)點(diǎn)啟動Driver進(jìn)程,負(fù)責(zé)整個應(yīng)用的監(jiān)控。本文實(shí)驗(yàn)采取的是第一種方式。

應(yīng)用執(zhí)行流程如圖3所示。用戶啟動客戶端,之后客戶端運(yùn)行用戶程序,啟動Driver進(jìn)程。在Driver中啟動或?qū)嵗疍AGScheduler、SparkContext等組件。客戶端的Driver向Master注冊。Worker 向Master注冊,Master命令Worker啟動Executor。Worker通過創(chuàng)建ExecutorRunner線程,在ExecutorRunner線程內(nèi)部啟動ExecutorBackend進(jìn)程。ExecutorBackend啟動后,向客戶端Driver進(jìn)程內(nèi)的SchedulerBackend注冊,這樣Driver進(jìn)程就能找到計(jì)算資源。

圖3 Driver進(jìn)程在Client端的應(yīng)用執(zhí)行流程圖Fig.3 The Flow Chart of Application Execution When Driver Progress in Client End

彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset,RDD)是Spark的核心數(shù)據(jù)結(jié)構(gòu),可以通過一系列算子進(jìn)行操作。一個操作執(zhí)行完畢,RDD變轉(zhuǎn)換為另一個RDD。Spark為了系統(tǒng)的內(nèi)存不至于快速用完,使用延遲執(zhí)行的方式執(zhí)行。只有當(dāng)RDD遇到Action算子時,將之前的所有算子形成一個有向無環(huán)圖RDD DAG,由Spark Action(如count、collect等)算子觸發(fā)整個RDD DAG執(zhí)行。這樣的過程稱為一個Job。

Spark應(yīng)用提交后經(jīng)過一系列轉(zhuǎn)換變成Job、Stage、Task幾個層次被調(diào)度,轉(zhuǎn)換過程如圖4所示。在Spark應(yīng)用程序內(nèi)部,用戶通過不同線程提交的Job可以并行運(yùn)行。默認(rèn)情況下,Spark的調(diào)度器以FIFO(first in first out)方式調(diào)度Job。RDD的Action算子觸發(fā)Job提交到Spark后得到的RDD DAG,由DAGScheduler根據(jù)RDD的寬依賴關(guān)系將其分解為Stage DAG,每個Stage中產(chǎn)生相應(yīng)的Task集合,再由TaskScheduler將各個Task分發(fā)到Executor執(zhí)行。每個Task對應(yīng)相應(yīng)的一個數(shù)據(jù)塊,使用用戶定義的函數(shù)處理數(shù)據(jù)塊。

圖4 Spark應(yīng)用轉(zhuǎn)換流程圖Fig.4 Spark Application Convertion Flow Chart

2 地理數(shù)據(jù)并行裝載技術(shù)

2.1 基于Spark的地理數(shù)據(jù)并行裝載實(shí)現(xiàn)步驟

如前文所說,本文設(shè)計(jì)了面片,這種非結(jié)構(gòu)化地理數(shù)據(jù)模型作為地理數(shù)據(jù)并行處理的對象單元。因此,地理數(shù)據(jù)并行裝載技術(shù)要實(shí)現(xiàn)的目的就是把源數(shù)據(jù)轉(zhuǎn)換成面片這種數(shù)據(jù)類型,并將這些面片集存入分布式數(shù)據(jù)庫或分布式文件系統(tǒng)中。源數(shù)據(jù)通常按不同級別(對應(yīng)不同的比例尺)以圖幅數(shù)據(jù)文件為單位存儲。

地理數(shù)據(jù)包括矢量數(shù)據(jù)、影像數(shù)據(jù)、數(shù)字高程模型數(shù)據(jù)、數(shù)字地面模型數(shù)據(jù)等等常用的數(shù)據(jù)類型,種類繁多,并行轉(zhuǎn)載步驟略有差異。以矢量數(shù)據(jù)為例,在本文設(shè)計(jì)的基于Spark的地理數(shù)據(jù)并行處理框架上實(shí)現(xiàn)矢量數(shù)據(jù)并行裝載基本步驟流程圖如圖5所示。

用戶提交矢量入庫任務(wù)并輸入需要入庫的矢量源數(shù)據(jù)路徑。程序解析源數(shù)據(jù)路徑,獲得源數(shù)據(jù)包括的所有圖幅文件路徑。按一定的規(guī)模(地理范圍大小)為單位將這些圖幅文件分堆,由Driver進(jìn)程隨機(jī)分配給各個Worker,由各個Worker并行進(jìn)行接下來的入庫流程。每個Worker各自選取一堆圖幅文件,加載這些圖幅文件并按面片規(guī)則對其做切片處理,得到面片碎片結(jié)構(gòu)的數(shù)據(jù)集,然后按照面片規(guī)則將面片各部分合并得到面片碎片集結(jié)構(gòu)的數(shù)據(jù)集。判斷面片碎片集是否完整,若完整,合并面片并入庫;若不完整,緩存。將各節(jié)點(diǎn)的不完整面片碎片集再次合并,判斷面片碎片集是否完整,若完整,合并面片并入庫;若不完整,緩存。重復(fù)上個步驟,直到全部面片入庫,入庫流程結(jié)束。

圖5 矢量數(shù)據(jù)并行裝載流程圖Fig.5 Vector Data Parallel Loading Flow Chart

2.2 基于Spark的地理數(shù)據(jù)并行裝載算法實(shí)現(xiàn)思路

本文的地理數(shù)據(jù)并行裝載算法使用Java語言編程,結(jié)合基于Spark的地理數(shù)據(jù)并行處理框架和其算子RDD進(jìn)行綜合設(shè)計(jì)。算法實(shí)現(xiàn)思路主要分為一下兩步:

Step1:源數(shù)據(jù)部分入庫,得到不完整面片:使用parallelize將源數(shù)據(jù)圖幅文件以JavaRDD 的形式分布到多個機(jī)器上。

使用flatMap(JavaRDD)對源數(shù)據(jù)圖幅文件切片,得到完整面片和面片碎片。將完整面片入庫,返回面片碎片集JavaRDD>。

使用mapToPair(JavaRDD>)得到以面片碼為Key的面片碎片鍵值對數(shù)據(jù)集JavaPairRDD

使用filter(._1().startsWith(“ERROR:”)).collect-AsMap()過濾得到其中的錯誤信息并對其做錯誤處理。

Step2:面片碎片合并,完整面片入庫,不完整面片做相應(yīng)處理:

使用reduceByKey(_,_)將相同面片碼的面片碎片合并,得到面片碎片集JavaPairRDD

判斷面片是否完整,使用兩個filter分別得到完整面片碎片集和不完整面片碎片集。對于完整面片碎片集,使用mapValues將碎片合并成完整面片并入庫,使用Filter().collectAsMap得到錯誤信息集Map并對其進(jìn)行相應(yīng)處理;對于不完整面片碎片集,使用mapPartitions()對其進(jìn)行處理,在緩存中尋找各個不完整面片缺少的碎片,如果某個面片缺少的碎片全部找到則合并完整入庫,如果不能全部找到則緩存,返回錯誤信息集JavaRDD>,再使用collect()得到錯誤信息集List>并做錯誤處理。

基于Spark的矢量數(shù)據(jù)并行裝載算法流程如圖6所示。

圖6 基于Spark的矢量數(shù)據(jù)并行裝載算法流程圖Fig.6 The Flow Chart of Vector Data Parallel Loading Algorithm Based on Spark

3 矢量數(shù)據(jù)裝載實(shí)驗(yàn)

為了測試本文提出的地理數(shù)據(jù)并行裝載技術(shù)的性能,選取部分矢量源數(shù)據(jù)做裝載測試。實(shí)驗(yàn)環(huán)境包括單機(jī)單進(jìn)程矢量數(shù)據(jù)裝載環(huán)境和多機(jī)多進(jìn)程矢量數(shù)據(jù)并行裝載環(huán)境。單機(jī)單進(jìn)程矢量數(shù)據(jù)裝載測試用到的機(jī)器是linux系統(tǒng)、16G內(nèi)存、8CPU,用Java編寫的矢量單機(jī)入庫程序,測試時后臺只啟動了一個應(yīng)用服務(wù)進(jìn)程;多機(jī)多進(jìn)程矢量數(shù)據(jù)并行裝載測試用到的分布式集群如上文圖2所示,集群包括一個master節(jié)點(diǎn)和兩個worker節(jié)點(diǎn),兩個worker節(jié)點(diǎn)分別部署在兩臺Linux測試機(jī)上,一臺機(jī)器16G內(nèi)存、8CPU同時作為master節(jié)點(diǎn),另一臺機(jī)器12G內(nèi)存、8CPU,在Spark并行計(jì)算框架下用Java編寫的矢量并行入庫程序,每個worker啟動三個應(yīng)用服務(wù)進(jìn)程。測試用到的數(shù)據(jù)有:1:100萬比例尺下112萬平方公里的全要素矢量數(shù)據(jù)、1:25萬比例尺下2萬平方公里的全要素矢量數(shù)據(jù)、1:5萬比例尺下24萬平方公里的全要素矢量數(shù)據(jù)。

測試用的數(shù)據(jù)和測試結(jié)果如表1所示。

表1 測試數(shù)據(jù)及單機(jī)單核、雙機(jī)三核并行入庫時間

從測試結(jié)果可以看出,本文提出的地理數(shù)據(jù)并行裝載技術(shù)明顯提高了地理數(shù)據(jù)裝載的速度,并且在數(shù)據(jù)規(guī)模越大的情況下,并行裝載的優(yōu)勢越顯著。在實(shí)際應(yīng)用中,集群的規(guī)模可在此基礎(chǔ)上數(shù)十倍甚至上百倍,可以預(yù)見并行裝載技術(shù)的效率將非常高。

4 結(jié)束語

本文的主要成果是設(shè)計(jì)了基于Spark的地理數(shù)據(jù)并行處理框架和實(shí)現(xiàn)了地理數(shù)據(jù)并行裝載技術(shù)。相較于傳統(tǒng)的單機(jī)單進(jìn)程的地理數(shù)據(jù)裝載方式,利用地理數(shù)據(jù)并行裝載技術(shù)可以使得地理數(shù)據(jù)裝載效率得到顯著提高,大大縮短了地理數(shù)據(jù)裝載所需時間,為今后實(shí)現(xiàn)地理數(shù)據(jù)實(shí)時更新、訪問、分析等奠定了良好的基礎(chǔ)。

[1] 高彥杰. Spark大數(shù)據(jù)處理: 技術(shù)、應(yīng)用與性能優(yōu)化[M]. 機(jī)械工業(yè)出版社, 2015.01.

[2] 王迅, 馮瑞. 基于Spark的海量圖像檢索系統(tǒng)設(shè)計(jì). 微型電腦應(yīng)用, 2015, 31(11): 11-17.

[3] Karau.H等著, 王道遠(yuǎn)譯. Spark快速大數(shù)據(jù)分析[M]. 北京:人民郵電出版社, 2015.09.

[4] 崔鑫. 海量空間數(shù)據(jù)的分布式存儲管理及并行處理技術(shù)研究[D]. 國防科學(xué)技術(shù)大學(xué)研究生院, 2010.

[5] 金翰偉. 基于Spark的大數(shù)據(jù)清洗框架設(shè)計(jì)與實(shí)現(xiàn)[D]. 浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 2015.

[6] 張廣第, 分布式環(huán)境下海量空間數(shù)據(jù)的存儲和并行查詢技術(shù)研究[D], 南昌: 江西理工大學(xué), 2012.

[7] 溫馨、羅侃、陳榮國等, 基于Shark/Spark的分布式空間數(shù)據(jù)分析框架[J]. 地球信息科學(xué), 2015.4, 17(4): 401-407.

[8] 王迅、馮瑞等, 基于Spark的海量圖像檢索系統(tǒng)設(shè)計(jì)[J]。微型電腦應(yīng)用, 2015, 31(11): 11-17.

[9] 方金云等, 基于Spark的空間數(shù)據(jù)實(shí)時訪存技術(shù)的研究[J]。地理信息世界, 2015.12, 22(6): 24-31.

[10] 霍紅衛(wèi), 林帥, 于強(qiáng), 等. 基于MapReduce的模體發(fā)現(xiàn)算法[J]. 新型工業(yè)化, 2012, 2(9): 18-30.

Geographic Data Parallel Loading Technology Based on Spark

HE Meng-jie1, ZHU Mei-zheng2, CHU Ning3, YANG Gang3
(1. No.15 Institute of China Electronics Technology Corporation, Beijing, 100000; 2.No.15 Institute of China Electronics Technology Corporation,Beijing, 100000; 3. Institute of China Electronics System Engineering Company, Beijing, 100000)

With the deepening development of GIS research,its application domain expands unceasingly, geographic data scale grows so fast that high-performance of geographic data processing becomes a urgent and inevitable requirement. In order to meet the needs of GIS development, in this paper, geographic data parallel computing framework was designed based on Spark parallel computing platform and geographic data parallel loading was realized, on this basis, the loading efficiency of geographic data improves significantly, geographic data update, access, analysis in real time becomes possible.

Spark; GIS; Parallel loading

TP311

A

10.3969/j.issn.1003-6970.2016.12.016

賀夢潔(1992-),女,碩士研究生,主要研究方向:計(jì)算機(jī)軟件與理論;朱美正(1965-),男,研究員級高級工程師,主要研究方向:地理信息系統(tǒng)平臺技術(shù)與數(shù)據(jù)共享;初寧(1972-),男,高級工程師,主要研究方向:指揮自動化;楊崗(1972-),男,主要研究方向:指揮自動化。

本文著錄格式:賀夢潔,朱美正,初寧,等. 基于Spark平臺的地理數(shù)據(jù)并行裝載技術(shù)[J]. 軟件,2016,37(12):63-68

猜你喜歡
進(jìn)程
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
改革開放進(jìn)程中的國際收支統(tǒng)計(jì)
中國外匯(2019年8期)2019-07-13 06:01:06
快速殺掉頑固進(jìn)程
社會進(jìn)程中的新聞學(xué)探尋
我國高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
講效率 結(jié)束進(jìn)程要批量
電腦迷(2012年24期)2012-04-29 00:44:03
男女平等進(jìn)程中出現(xiàn)的新矛盾和新問題
俄羅斯現(xiàn)代化進(jìn)程的阻礙
論文萊的民族獨(dú)立進(jìn)程
主站蜘蛛池模板: 国产精品免费p区| 在线国产综合一区二区三区| 成年女人a毛片免费视频| 久久福利片| 国产天天射| 亚洲一级无毛片无码在线免费视频| 成年人视频一区二区| 91破解版在线亚洲| 午夜国产不卡在线观看视频| 第九色区aⅴ天堂久久香| 欧美黄网站免费观看| 国产福利一区视频| 国产理论一区| 天堂在线视频精品| 91在线精品麻豆欧美在线| 国产午夜看片| 伊人网址在线| 中文无码毛片又爽又刺激| 中文字幕无线码一区| 久久一色本道亚洲| 国产福利免费观看| 亚洲床戏一区| 2048国产精品原创综合在线| 国产午夜无码专区喷水| 精品欧美一区二区三区久久久| 久久久精品无码一二三区| 成人在线第一页| 九九热免费在线视频| 992tv国产人成在线观看| 草草影院国产第一页| 久久人搡人人玩人妻精品一| 白浆免费视频国产精品视频 | 日韩毛片免费| 一本大道香蕉久中文在线播放| 成人无码一区二区三区视频在线观看 | 亚洲一区二区在线无码| 中日韩欧亚无码视频| 国产欧美日韩精品综合在线| 在线免费亚洲无码视频| 一级片免费网站| 亚洲成人精品久久| 亚洲成人免费看| 久久无码高潮喷水| 亚洲经典在线中文字幕| 亚洲国产成人麻豆精品| 国产精品专区第一页在线观看| 人妻中文久热无码丝袜| 国产精品久久久久鬼色| 亚洲福利视频一区二区| 欧美日本在线观看| 久久国产精品无码hdav| 日韩二区三区| 91娇喘视频| 欧美在线视频不卡第一页| 亚洲欧美成aⅴ人在线观看| 超薄丝袜足j国产在线视频| 国产在线第二页| 久久久久九九精品影院| 国产日韩欧美精品区性色| www.亚洲一区| 国产精品欧美激情| 国产91九色在线播放| 成人免费网站在线观看| 国产极品嫩模在线观看91| 内射人妻无码色AV天堂| 在线人成精品免费视频| 青青草综合网| 亚洲中文字幕日产无码2021| 99热这里都是国产精品| 最新痴汉在线无码AV| 国产欧美日本在线观看| 国产区在线观看视频| 国产精品女主播| 亚洲精品不卡午夜精品| 婷婷久久综合九色综合88| 欧美成人影院亚洲综合图| 国产第八页| 亚洲国产成人精品一二区| 国产一区二区精品福利| AV天堂资源福利在线观看| 中文字幕欧美日韩| 奇米影视狠狠精品7777|