亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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í)時(shí)更新、訪問、分析等奠定了良好的基礎(chǔ)。

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

        0 引言

        隨著信息時(shí)代的來臨,人們對地理數(shù)據(jù)的依賴性越來越強(qiáng)。如今線上貿(mào)易滲透到生活的每個(gè)角落,物流公司需要利用地理數(shù)據(jù)節(jié)約成本、提高效率;經(jīng)銷商需要參考地理數(shù)據(jù)做出重要的商業(yè)決策;人們出行也基本不再使用紙質(zhì)地圖,有地圖應(yīng)用可以給出詳細(xì)的路線指導(dǎo)??梢姡?、食、住、行無不和地理數(shù)據(jù)相關(guān),因此對地理數(shù)據(jù)的需求量逐年呈爆炸式增長,稱為海量亦不為過。與此同時(shí),對地理數(shù)據(jù)處理的性能需求也越來越高。地理數(shù)據(jù)處理包括裝載、組織、查詢、分析等等,傳統(tǒng)的單個(gè)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這個(gè)統(tǒng)一的框架下高效地支持包括批處理、迭代算法、交互式查詢、流處理等在內(nèi)的多種計(jì)算模式。

        大數(shù)據(jù)計(jì)算流程往往分為多個(gè)階段,在MapReduce中,不同計(jì)算階段之間重用數(shù)據(jù),需要將上一個(gè)階段的計(jì)算結(jié)果保存到外部存儲系統(tǒng)(如分布式文件系統(tǒng)HDFS)中[10],由此導(dǎo)致了大量的數(shù)據(jù)復(fù)制、磁盤I/O、序列化、反序列化等開銷[2],大大降低了計(jì)算效率。而Spark將執(zhí)行模型抽象為通用的有向無環(huán)圖執(zhí)行計(jì)劃(DAG),可以將有多個(gè)計(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ù)?、度量等關(guān)系可動(dòng)態(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個(gè)面片數(shù)據(jù)集存于分布式數(shù)據(jù)庫系統(tǒng)的各個(gè)物理存儲節(jié)點(diǎn)上。每個(gè)面片數(shù)據(jù)集有固定的空間參考、面片劃分方案、資源類型、面片類型、應(yīng)用類型、面片格式。面片數(shù)據(jù)集內(nèi)部又按不同級別對面片分類,每種級別對應(yīng)一個(gè)確定大小的比例尺,級別越大對應(yīng)的分辨率越高、比例尺越大,支持創(chuàng)建金字塔數(shù)據(jù)。每個(gè)級別數(shù)據(jù)集里又分為N個(gè)桶或桶集,桶集包含N個(gè)桶,按桶組織可以避免因面片數(shù)目巨大而造成管理低效,更易于部署、更新、遷移。桶里可以按多個(gè)版本區(qū)分?jǐn)?shù)據(jù),版本表示數(shù)據(jù)來源、年份等等含義。版本數(shù)據(jù)集再包含面片數(shù)據(jù),面片數(shù)據(jù)是數(shù)據(jù)存儲的最小粒度單位。桶集有桶分布位圖,反映哪些桶有數(shù)據(jù);桶有面片分布位圖,反映某個(gè)桶的某個(gè)版本的面片分布情況。面片的邏輯模型如圖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)了容錯(cuò)性和資源管理,無需依賴任何其他資源管理系統(tǒng)。后兩種則是在企業(yè)級應(yīng)用和工業(yè)生產(chǎn)中常用的模式,部分容錯(cuò)性和資源管理交由統(tǒng)一的資源管理系統(tǒng)完成,讓Spark運(yùn)行在一個(gè)通用的資源管理系統(tǒng)之上,這樣可以和其他計(jì)算框架共用一個(gè)集群資源,最大的好處是降低運(yùn)維成本和提高資源利用率。從一定程度上來說,standalone模式是后兩種模式的基礎(chǔ)。借鑒spark開發(fā)模式,我們可以得到一種開發(fā)新的計(jì)算框架的一般思路:為了快速開發(fā),可以暫不考慮服務(wù)(比如master/slave)的容錯(cuò)性,先設(shè)計(jì)出它的standalone模式(目前spark在standalone模式下沒有單點(diǎn)故障問題,這是借助zookeeper實(shí)現(xiàn)的),之后在開發(fā)相應(yīng)的wrapper,將standalone模式下的服務(wù)原封不動(dòng)地部署到資源管理系統(tǒng)mesos或yarn上,由資源管理系統(tǒng)負(fù)責(zé)服務(wù)本身的容錯(cuò)。由于在項(xiàng)目初期,本文設(shè)計(jì)的地理數(shù)據(jù)并行處理框架就是在spark的standalone模式下實(shí)現(xiàn)的。

        本文的實(shí)驗(yàn)測試環(huán)境為兩臺Linux測試機(jī)。集群包括一個(gè)master節(jié)點(diǎn)和兩個(gè)worker節(jié)點(diǎn),兩個(gè)worker節(jié)點(diǎn)分別部署在兩臺機(jī)器上,其中一臺機(jī)器同時(shí)作為master節(jié)點(diǎn)。每個(gè)worker節(jié)點(diǎn)有多個(gè)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)指定某個(gè)Worker節(jié)點(diǎn)啟動(dòng)Driver進(jìn)程,負(fù)責(zé)整個(gè)應(yīng)用的監(jiān)控。本文實(shí)驗(yàn)采取的是第一種方式。

        應(yīng)用執(zhí)行流程如圖3所示。用戶啟動(dòng)客戶端,之后客戶端運(yùn)行用戶程序,啟動(dòng)Driver進(jìn)程。在Driver中啟動(dòng)或?qū)嵗疍AGScheduler、SparkContext等組件。客戶端的Driver向Master注冊。Worker 向Master注冊,Master命令Worker啟動(dòng)Executor。Worker通過創(chuàng)建ExecutorRunner線程,在ExecutorRunner線程內(nèi)部啟動(dòng)ExecutorBackend進(jìn)程。ExecutorBackend啟動(dòng)后,向客戶端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)行操作。一個(gè)操作執(zhí)行完畢,RDD變轉(zhuǎn)換為另一個(gè)RDD。Spark為了系統(tǒng)的內(nèi)存不至于快速用完,使用延遲執(zhí)行的方式執(zhí)行。只有當(dāng)RDD遇到Action算子時(shí),將之前的所有算子形成一個(gè)有向無環(huán)圖RDD DAG,由Spark Action(如count、collect等)算子觸發(fā)整個(gè)RDD DAG執(zhí)行。這樣的過程稱為一個(gè)Job。

        Spark應(yīng)用提交后經(jīng)過一系列轉(zhuǎn)換變成Job、Stage、Task幾個(gè)層次被調(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,每個(gè)Stage中產(chǎn)生相應(yīng)的Task集合,再由TaskScheduler將各個(gè)Task分發(fā)到Executor執(zhí)行。每個(gè)Task對應(yīng)相應(yīng)的一個(gè)數(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ī)分配給各個(gè)Worker,由各個(gè)Worker并行進(jìn)行接下來的入庫流程。每個(gè)Worker各自選取一堆圖幅文件,加載這些圖幅文件并按面片規(guī)則對其做切片處理,得到面片碎片結(jié)構(gòu)的數(shù)據(jù)集,然后按照面片規(guī)則將面片各部分合并得到面片碎片集結(jié)構(gòu)的數(shù)據(jù)集。判斷面片碎片集是否完整,若完整,合并面片并入庫;若不完整,緩存。將各節(jié)點(diǎn)的不完整面片碎片集再次合并,判斷面片碎片集是否完整,若完整,合并面片并入庫;若不完整,緩存。重復(fù)上個(gè)步驟,直到全部面片入庫,入庫流程結(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 的形式分布到多個(gè)機(jī)器上。

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

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

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

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

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

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

        基于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ī)入庫程序,測試時(shí)后臺只啟動(dòng)了一個(gè)應(yīng)用服務(wù)進(jìn)程;多機(jī)多進(jìn)程矢量數(shù)據(jù)并行裝載測試用到的分布式集群如上文圖2所示,集群包括一個(gè)master節(jié)點(diǎn)和兩個(gè)worker節(jié)點(diǎn),兩個(gè)worker節(jié)點(diǎn)分別部署在兩臺Linux測試機(jī)上,一臺機(jī)器16G內(nèi)存、8CPU同時(shí)作為master節(jié)點(diǎn),另一臺機(jī)器12G內(nèi)存、8CPU,在Spark并行計(jì)算框架下用Java編寫的矢量并行入庫程序,每個(gè)worker啟動(dòng)三個(gè)應(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ī)三核并行入庫時(shí)間

        從測試結(jié)果可以看出,本文提出的地理數(shù)據(jù)并行裝載技術(shù)明顯提高了地理數(shù)據(jù)裝載的速度,并且在數(shù)據(jù)規(guī)模越大的情況下,并行裝載的優(yōu)勢越顯著。在實(shí)際應(yīng)用中,集群的規(guī)??稍诖嘶A(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í)間,為今后實(shí)現(xiàn)地理數(shù)據(jù)實(shí)時(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í)訪存技術(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-),男,高級工程師,主要研究方向:指揮自動(dòng)化;楊崗(1972-),男,主要研究方向:指揮自動(dòng)化。

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

        猜你喜歡
        面片入庫進(jìn)程
        重磅!廣東省“三舊”改造標(biāo)圖入庫標(biāo)準(zhǔn)正式發(fā)布!
        中國食品品牌庫入庫企業(yè)信息公示①
        中國食品(2021年2期)2021-02-24 03:55:35
        債券市場對外開放的進(jìn)程與展望
        中國外匯(2019年20期)2019-11-25 09:54:58
        初次來壓期間不同頂板對工作面片幫影響研究
        甜面片里的人生
        幸福家庭(2016年3期)2016-04-05 03:47:08
        身臨其境探究竟 主動(dòng)思考完任務(wù)——《倉儲與配送實(shí)務(wù)》入庫作業(yè)之“入庫訂單處理”教學(xué)案例
        人間(2015年8期)2016-01-09 13:12:42
        青海尕面片
        老伴逼我搟面片
        批量地籍圖入庫程序設(shè)計(jì)方法
        社會進(jìn)程中的新聞學(xué)探尋
        98bb国产精品视频| 中文人妻av久久人妻水蜜桃| 夜夜添夜夜添夜夜摸夜夜摸| 中国亚洲女人69内射少妇| 尤物蜜芽福利国产污在线观看| 熟女少妇av一区二区三区| 久久精品人人做人人爱爱| a级毛片在线观看| 在线观看国产精品91| 美女一区二区三区在线视频| 久久精品中文字幕| 国产剧情麻豆女教师在线观看 | 中文字幕大乳少妇| 国产亚洲中文字幕一区| 麻豆免费观看高清完整视频| 亚洲av无码资源在线观看| 国产99精品精品久久免费| 一区二区三区在线少妇| 97精品国产97久久久久久免费| 欧美视频久久久| 色婷婷av一区二区三区不卡| 久久久国产精品无码免费专区 | aaaaa级少妇高潮大片免费看| 草莓视频中文字幕人妻系列| 不卡免费在线亚洲av| 国产伦精品一区二区三区妓女| 免费一级毛片在线播放不收费| 久久精品国产亚洲av调教| 亚洲成av人片女在线观看| 国产在线观看www污污污| 亚洲成a人网站在线看| 黄色国产精品福利刺激午夜片| 无人区一码二码三码四码区| 免费一级毛片麻豆精品| 美利坚亚洲天堂日韩精品| 男女性爽大片视频| 亚洲精品老司机在线观看| 亚洲午夜精品国产一区二区三区 | 美女被搞在线观看一区二区三区| 色噜噜亚洲男人的天堂| 伊人久久综合精品无码av专区|