高 崟
(國家基礎(chǔ)地理信息中心,北京 100830)
隨著第一次全國地理國情普查的圓滿結(jié)束,我國從2016年開始全面進入了常態(tài)化地理國情監(jiān)測階段[1],通過持續(xù)監(jiān)測為國家生態(tài)文明建設(shè)、社會經(jīng)濟發(fā)展提供高精度的地理國情時空大數(shù)據(jù),數(shù)據(jù)規(guī)模每年可達數(shù)億條[2]。在常態(tài)化地理國情監(jiān)測中,為了有效利用監(jiān)測成果數(shù)據(jù),需要結(jié)合多方面信息對包含100多項指標的數(shù)據(jù)進行深入分析,對空間數(shù)據(jù)分析平臺帶來了較大挑戰(zhàn),傳統(tǒng)空間數(shù)據(jù)庫及計算平臺在海量空間數(shù)據(jù)挖掘分析方面表現(xiàn)出性能不足和拓展性差的突出問題。
傳統(tǒng)的空間數(shù)據(jù)管理依托單節(jié)點關(guān)系型數(shù)據(jù)庫,在數(shù)據(jù)管理、高并發(fā)讀寫、高效計算和擴展性等方面存在局限性[3]。云計算的興起為海量空間數(shù)據(jù)分析帶來了機遇與挑戰(zhàn),將云計算技術(shù)與空間信息技術(shù)結(jié)合,實現(xiàn)對海量空間數(shù)據(jù)的分布式計算分析,逐漸成為解決海量空間數(shù)據(jù)分析計算的關(guān)鍵突破口[4]。Hadoop是近年來在大數(shù)據(jù)背景下產(chǎn)生的分布式計算框架[3],它實現(xiàn)將存儲和計算的服務(wù)分布在由大量計算機節(jié)點構(gòu)成的集群上,將計算節(jié)點的數(shù)據(jù)存儲和計算資源進行整合,形成協(xié)同工作機制,為大數(shù)據(jù)存儲處理提供了廉價可行的解決方案。Hive[5]是Hadoop架構(gòu)下的分布式數(shù)據(jù)分析框架,能夠有效利用Hadoop集群的分布式存儲和計算資源,具有便捷的數(shù)據(jù)分析能力,非常適合應(yīng)對大規(guī)模數(shù)據(jù)的分析處理。隨著Hive技術(shù)的逐步發(fā)展,諸多行業(yè)領(lǐng)域也嘗試將Hive分布式計算框架應(yīng)用于行業(yè)大數(shù)據(jù)處理。在電信方面,Tseng J C[6]等和王蘇衛(wèi)等[7]使用Hive分析處理電信運營商產(chǎn)生的海量數(shù)據(jù);電力方面,Wang D W等[8]、王德文[9]、于振等[10]通過Hadoop分布式技術(shù)和Hive數(shù)據(jù)倉庫來應(yīng)對電力設(shè)備狀態(tài)信息數(shù)據(jù)量不斷劇增的問題,Shao L等[11]將Hive應(yīng)用于應(yīng)對第一次全國水利監(jiān)測大規(guī)模數(shù)據(jù)處理分析上,樊龍等[12]基于Hive構(gòu)建了水利監(jiān)測數(shù)據(jù)平臺以滿足海量水利監(jiān)測數(shù)據(jù)的存儲和查詢需求。這些成功案例均表明基于Hadoop計算集群和Hive數(shù)據(jù)分析框架在海量數(shù)據(jù)分析方面具有廣泛的適用性和應(yīng)用潛力。
本文面向開放性地理國情監(jiān)測分析服務(wù)需要,設(shè)計了一種基于Hadoop的地理國情高性能計算框架,論述了通過服務(wù)封裝實現(xiàn)分布式并行計算能力與成熟平臺地理空間分析能力的無縫聚合實現(xiàn)地理國情分析計算的最優(yōu)化理念,并采用地理國情地表覆蓋面積統(tǒng)計典型應(yīng)用場景探討了分布式計算技術(shù)在地理國情海量數(shù)據(jù)分析方面的適用性,旨在為地理國情時空大數(shù)據(jù)分析提供新思路。
地理國情分布式計算框架設(shè)計面臨的關(guān)鍵問題是海量空間數(shù)據(jù)的高性能存儲和高性能分析挖掘[13]。分布式計算框架的總體思路為:基于Hadoop的分布式計算平臺利用分布式文件系統(tǒng)HDFS存儲海量地理國情空間數(shù)據(jù),利用MapReduce分布式計算框架為海量空間數(shù)據(jù)的高效計算提供底層并行計算基礎(chǔ),通過Hive實現(xiàn)對結(jié)構(gòu)化空間數(shù)據(jù)的提取轉(zhuǎn)化加載,在空間數(shù)據(jù)計算接口的支持下實現(xiàn)基于Hadoop的高效存儲和高效計算,并通過服務(wù)封裝實現(xiàn)分布式并行計算能力與成熟平臺地理空間分析能力的無縫聚合,實現(xiàn)最優(yōu)化的地理國情分析計算。下面分別對分布式框架總體結(jié)構(gòu)、空間數(shù)據(jù)分布存儲模式、空間分析分布計算流程以及地理國情分析協(xié)同服務(wù)模式進行闡述。
地理國情分布式計算框架的設(shè)計主要以實現(xiàn)地理空間數(shù)據(jù)的分布式分析計算為主要目標,同時要兼顧數(shù)據(jù)分析應(yīng)用的多樣化客觀需要。本文的設(shè)計思路為:對于地理國情分析計算中的數(shù)據(jù)密集型運算,優(yōu)先采用Hadoop分布式計算進行快速分析,而對于數(shù)據(jù)量不大的復雜模型計算類的密集型運算,則充分利用成熟平臺的豐富空間分析計算能力,實現(xiàn)兩者的最優(yōu)化聚合與協(xié)同服務(wù)能力。對于地理國情分布式計算框架而言,其總體結(jié)構(gòu)分為數(shù)據(jù)源層、Hadoop集群層、控制層以及應(yīng)用層四部分,其結(jié)構(gòu)如圖1所示。
圖1 地理國情分布式計算框架Fig.1 Distributed computing framework of Geographical Conditions Information
1)數(shù)據(jù)層
數(shù)據(jù)源層是地理國情分布式計算的原始數(shù)據(jù)來源,一般以RDBMS空間數(shù)據(jù)庫、文件系統(tǒng)、Web服務(wù)等方式存在,數(shù)據(jù)內(nèi)容包括地表覆蓋、地理國情要素、派生數(shù)據(jù)、專題數(shù)據(jù)以及其他數(shù)據(jù)等多種形式,主題一般涵蓋自然方面的氣溫、降水、濕度、覆被、土壤、地質(zhì)等,人文數(shù)據(jù)方面為人口、經(jīng)濟、設(shè)施、管理單元等,綜合方面的土地利用、水利、林業(yè)、濕地、生態(tài)等[14]。對于分布式集群數(shù)據(jù)裝載,一般根據(jù)原始數(shù)據(jù)的存儲形式和技術(shù)平臺采取多種靈活方式,包括通過Sqoop[15]從數(shù)據(jù)庫加載、通過Web Service在線調(diào)用加載、通過Hadoop I/O直接讀寫以及第三方接口等。
2)Hadoop集群
Hadoop集群是分布式計算的主體構(gòu)成,由分布式存儲和分布式計算兩部分構(gòu)成。分布式存儲系統(tǒng)有多種選擇,對于空間數(shù)據(jù)統(tǒng)計分析而言,分布式存儲層可以采用HDFS分布式文件系統(tǒng)或者HBase分布式列數(shù)據(jù)庫,其中,HDFS分布式文件系統(tǒng)用于支撐大規(guī)模空間數(shù)據(jù)并行計算分析,而HBase則側(cè)重于大規(guī)??臻g數(shù)據(jù)的查詢檢索與統(tǒng)計報表生成等。對于地理國情分析應(yīng)用而言,考慮將兩者結(jié)合起來,數(shù)據(jù)查詢或概略統(tǒng)計通過HBase分布式數(shù)據(jù)庫快速實現(xiàn)查詢反饋,而精確的空間計算分析則利用HDFS開展并行化空間計算。分布式空間計算接口一般需要將多源空間數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為文本化的空間數(shù)據(jù),分塊存儲在HDFS分布式文件系統(tǒng)中。對于空間數(shù)據(jù)的文本化存儲,常用的文本化空間數(shù)據(jù)格式有WKT、GML、GeoJSON等,也可以根據(jù)需要采用其他的數(shù)據(jù)存儲格式,但所有的文本格式的數(shù)據(jù)在空間計算時都依賴相應(yīng)格式的接口進行數(shù)據(jù)解析。
分布式計算是Hadoop集群實現(xiàn)高性能計算的關(guān)鍵因素,當前主流的分布式計算框架有MapReduce分布式計算模型[15]和Spark分布式內(nèi)存計算模型[16]。MapReduce計算模型首次解決了超大規(guī)模數(shù)據(jù)難以處理的難題,而Spark模型將內(nèi)存計算與分布式計算相結(jié)合實現(xiàn)了計算效率的幾何級提升,隨著分布式技術(shù)的快速發(fā)展,第三代Hadoop分布式技術(shù)結(jié)合了內(nèi)存計算優(yōu)勢并改進了MapReduce模型,在計算效率上將明顯超過Spark現(xiàn)有的性能水平,但是穩(wěn)定版本仍在研發(fā)過程中。對于空間數(shù)據(jù)分布式計算而言,原生的MapReduce和Spark均不支持空間計算,在實際應(yīng)用中需要開發(fā)專門的空間數(shù)據(jù)解析接口以及空間計算算法和接口,實現(xiàn)MapReduce和Spark對空間計算分析的支持。因此,在條件允許的前提下,需要隨時緊跟Hadoop分布式計算技術(shù)的最新發(fā)展趨勢,研發(fā)相應(yīng)的空間分析接口,實現(xiàn)最優(yōu)化的分布式計算效率,全面提升空間分析水平。
3)控制層
控制層是地理國情分布式計算框架的中間模塊,連接計算框架的計算層和應(yīng)用層,借助Hive的類SQL調(diào)度語言進一步簡化空間分析的交互方式??刂茖迂撠煈?yīng)答應(yīng)用層的請求,并根據(jù)元數(shù)據(jù)進行任務(wù)解析,生成相應(yīng)的分布式任務(wù)傳遞給計算層,同時監(jiān)聽計算結(jié)果并及時反饋。HiveQL是Hive的類SQL調(diào)度語言,HiveQL本身并不支持空間數(shù)據(jù)操作和分析,需要將Hadoop集群的MapReduce或Spark并行空間分析算法或接口封裝為HiveQL格式,方便在Hive終端的統(tǒng)一調(diào)用。對于空間分析的基本操作,目前ESRI公司提供了開源GIS Tool for Hadoop組件,對于基本的空間計算可以采用該組件,在不滿足分析應(yīng)用的情況下,需要定制開發(fā)專門的分布式空間分析組件,形成更復雜的空間分析能力。
4)應(yīng)用層
應(yīng)用層是分布式計算框架的用戶層,通過分布式集群實現(xiàn)空間交互、查詢統(tǒng)計、空間分析、模型計算及應(yīng)用接口等多層次的分析應(yīng)用。就地理國情而言,分析服務(wù)是地理國情監(jiān)測成果數(shù)據(jù)統(tǒng)計、知識挖掘以及與其他專業(yè)數(shù)據(jù)融合形成有用的專項/專題信息的重要手段。與大部分專業(yè)調(diào)查相比,地理國情監(jiān)測具有綜合性特點,使得地理國情分析與應(yīng)用平臺需要具有較強的靈活性與開放性。在應(yīng)用層,需要根據(jù)地理國情分析應(yīng)用場景的差異研究多元化的地理國情在線分析模式[13],包括地理國情數(shù)據(jù)統(tǒng)計、地理國情指數(shù)評價、地理國情專題建模以及地理國情眾包分析等。數(shù)據(jù)統(tǒng)計以地理國情監(jiān)測成果數(shù)據(jù)或?qū)n}數(shù)據(jù)為對象,按照規(guī)則地理格網(wǎng)、行政區(qū)劃、自然地理區(qū)域、社會經(jīng)濟區(qū)域等不同地理單元類型對地理國情監(jiān)測成果數(shù)據(jù)進行統(tǒng)計計算,形成綜合反映地理國情要素的空間分布狀況的統(tǒng)計數(shù)據(jù)。指數(shù)評價是基于地表覆蓋矢量數(shù)據(jù)和多級格網(wǎng)數(shù)據(jù)進行應(yīng)用指數(shù)計算,形成反映空間分布特征的地理國情監(jiān)測評價結(jié)果。專題建模對于生態(tài)、經(jīng)濟、人口、資源、環(huán)境、農(nóng)林、工業(yè)、教育、文化等行業(yè)性監(jiān)測內(nèi)容,基于形成的專題數(shù)據(jù)、專題模型、服務(wù)形式,提供面向?qū)n}的地理國情建模分析能力。眾包服務(wù)針對地理國情分析的多元性需求以及地理國情大數(shù)據(jù)的融合發(fā)展,構(gòu)建面向眾包的開放式地理國情分析服務(wù)能力,在數(shù)據(jù)庫端在線開放空間計算與空間分析的服務(wù)接口以及基于元數(shù)據(jù)的在線資源目錄,對于數(shù)據(jù)統(tǒng)計、指數(shù)評價、專題分析等功能均不能滿足需求的用戶,在數(shù)據(jù)庫安全機制的保障下,提供線上的實時在線數(shù)據(jù)分析能力,有利于不斷擴寬地理國情監(jiān)測服務(wù)領(lǐng)域,提升地理國情監(jiān)測應(yīng)用水平。
通用Hadoop集群采用MapReduce的并行模型實現(xiàn)分布式計算。本文提出的Hadoop+Hive的地理國情分布式計算模式在計算流程更為復雜,不僅需要通過Hive將空間計算解析為HiveQL的類SQL模式,更重要的是設(shè)計空間計算接口支撐Hive的空間運算。在空間數(shù)據(jù)及計算接口方面,可采取MapReduce分布式算法改寫傳統(tǒng)的空間分析算法,然后封裝成Hive環(huán)境下的HiveQL接口,方便應(yīng)用端的接口調(diào)用與復雜計算分析構(gòu)造,而空間數(shù)據(jù)接口則采用WKT、GML、GeoJSON等通用文本型空間數(shù)據(jù)格式及解析接口,方便調(diào)用采用HDFS分布式存儲的文本式空間數(shù)據(jù)參與空間計算與分析。
因此,地理國情分布式集群的計算流程主要涉及空間分析命令發(fā)送客戶端、空間分析解析的Hive控制端、HDFS地理國情數(shù)據(jù)存儲端、MapReduce分布式計算及空間數(shù)據(jù)接口端的指令交互與數(shù)據(jù)通信。主要空間分析計算流程為:①應(yīng)用層發(fā)起數(shù)據(jù)空間分析請求,根據(jù)請求命令的內(nèi)容查詢MySQL元數(shù)據(jù)庫中對應(yīng)的表定義,若滿足則進入數(shù)據(jù)文件目錄查詢相應(yīng)的表,通過HQL找到地理國情數(shù)據(jù)屬性,獲取符合條件的屬性值,在空間分析接口組件的支持下,完成分析命令涉及的空間數(shù)據(jù)數(shù)量查詢、幾何運算、空間分析、結(jié)果統(tǒng)計等一系列的空間計算分析過程,并在HDFS中生成臨時的數(shù)據(jù)計算結(jié)果,將結(jié)果以Hive數(shù)據(jù)表的形式返回給Hive控制層,最后反饋給客戶端的空間分析用戶;②若用戶對分析結(jié)果有進一步的計算需要,則重新發(fā)送命令給Hive控制層,Hive控制層按照上述流程將命名重新解析后發(fā)送給各個計算環(huán)節(jié),完成計算后統(tǒng)一返回,從而實現(xiàn)關(guān)系型數(shù)據(jù)庫命令行式的空間計算分析體驗。分布式計算流程如圖2所示。
圖2 地理國情分布式計算流程Fig.2 Distributed computing process of Geographical Conditions analysis
通過Hive的分布式計算接口封裝實現(xiàn)了友好的空間分析支持,為地理國情分析服務(wù)平臺等業(yè)務(wù)系統(tǒng)奠定了良好基礎(chǔ)。對于缺乏Hadoop或Hive應(yīng)用基礎(chǔ)的空間分析用戶,有必要采取服務(wù)封裝的方式實現(xiàn)更為便捷的分布式空間分析應(yīng)用。主要服務(wù)封裝方法為采用Hive API訪問接口、JAVA JDBC訪問接口或者Linux Shell等多種形式將Hive命令封裝為通用的組件式訪問接口,利用Web Service技術(shù)在本地Server端發(fā)布通用服務(wù),通過應(yīng)用端服務(wù)接口對Hive的服務(wù)接口進行遠程調(diào)用,內(nèi)嵌至B/S模式的Web應(yīng)用端或者C/S模式的客戶端,實現(xiàn)了分布式計算資源的遠程調(diào)用。
分布式計算接口的服務(wù)封裝不僅實現(xiàn)了通用的地理國情分析與應(yīng)用平臺的技術(shù)集成,更滿足了多樣化的分析應(yīng)用需要。通過服務(wù)聚合可以在應(yīng)用平臺層將多種計算和分析資源進行整合,實現(xiàn)一體化的應(yīng)用服務(wù)。即對于地理國情大規(guī)模海量數(shù)據(jù)的數(shù)據(jù)密集型分析計算,優(yōu)先調(diào)用Hive服務(wù)進行分布式計算,并將分析結(jié)果快速返回給應(yīng)用端;對于數(shù)據(jù)量小的復雜計算過程,則優(yōu)先采用成熟的空間分析模型或組件進行,避免復雜空間分析或模型計算的分布式改造成本,而且很多復雜的空間運算在邏輯上并不完全支持并行計算。因此,在滿足分析應(yīng)用的前提下,將Hive分布式計算和傳統(tǒng)的空間分析計算相結(jié)合,將復雜計算過程或分析模型拆分為多個簡單的計算過程,將涉及大數(shù)據(jù)量的計算過程發(fā)送給Hive集群進行高性能計算,并傳遞計算結(jié)果,而整個復雜模型的空間運算仍然在成熟的計算平臺中進行,最大限度地發(fā)揮成熟空間分析平臺的豐富接口和分布式計算平臺的高效性能,滿足海量數(shù)據(jù)的復雜和多源應(yīng)用需要。
我國地理國情普查首次采用優(yōu)于1 m分辨率的遙感影像獲取覆蓋全國的“山水林田湖草”綜合性地理國情信息,地表覆蓋數(shù)據(jù)層圖斑量超過2.6億個,地類圖斑形狀采集精細,幾何結(jié)構(gòu)復雜,常見的草地、路面等線狀要素節(jié)點多達近十萬個,西部地區(qū)的大面積草地、沙地等自然地類的要素多達幾十個幾何內(nèi)環(huán),是地理國情分析應(yīng)用中計算量最大、分析難度最高的一類數(shù)據(jù)。為檢驗本文所設(shè)計的分布式計算方法在地理國情監(jiān)測海量數(shù)據(jù)分析上的適用性,選取地表覆蓋分區(qū)面積統(tǒng)計為測試案例,采用不同規(guī)模的地表覆蓋數(shù)據(jù),分別驗證分析Hadoop分布式計算框架在計算能力上和拓展性能上的應(yīng)用潛力。
該分析涉及地表覆蓋和統(tǒng)計單元兩類數(shù)據(jù),其中地表覆蓋數(shù)據(jù)為無縫矢量多邊形圖斑,屬性字段為地理國情信息分類碼(CC),標識圖斑的地表覆蓋類型,統(tǒng)計單元一般為行政區(qū)劃矢量多邊形數(shù)據(jù),主要屬性字段為行政區(qū)劃代碼(PAC),標識行政區(qū)劃多邊形對應(yīng)的政區(qū),其結(jié)構(gòu)見表1。
表1 地理國情地表覆蓋和行政區(qū)劃數(shù)據(jù)結(jié)構(gòu)Tab.1 Structure of geographical conditions land cover and administrative area data
采用地理國情普查中濟南市局部的地表覆蓋數(shù)據(jù)作為試驗數(shù)據(jù),具體數(shù)據(jù)情況如圖3所示,選取對應(yīng)鄉(xiāng)鎮(zhèn)界線作為分區(qū)統(tǒng)計單元。
圖3 地表覆蓋試驗數(shù)據(jù)Fig.3 Overview of land cover dataset
在試驗中,根據(jù)圖斑數(shù)量進行分組,形成5組圖斑數(shù)量遞增的數(shù)據(jù)集,圖斑數(shù)量依次為50000、150000、500000、1000000、5 000000,用于測試集群在不同數(shù)量級的計算性能。
地表覆蓋分區(qū)面積統(tǒng)計是地理國情基本統(tǒng)計的基本計算內(nèi)容,主要采用各級行政區(qū)劃邊界裁切對應(yīng)范圍的地表覆蓋數(shù)據(jù),然后統(tǒng)計各行政區(qū)范圍內(nèi)的所有地表覆蓋類型圖斑的幾何面積,主要有相交關(guān)系判斷、圖斑幾何裁切、多邊形面積計算、結(jié)果分類匯總等計算過程,其中相交關(guān)系判斷、圖斑幾何裁切、多邊形面積計算是計算量大、耗時較長的3個過程。為實現(xiàn)高效率計算,本實驗將相交關(guān)系判斷、圖斑幾何裁切、多邊形面積計算3個過程改寫為分布式計算,在完成裁切形成結(jié)果后,集中進行結(jié)果分類匯總。
測試環(huán)境為7臺DELL PRECISION T7810工作站,配備1.90GHz Intel Xeon E5的8核處理器,32G內(nèi)存,500 G硬盤,千兆網(wǎng)卡。操作系統(tǒng)采用RedHat 5.4 64位系統(tǒng),JDK 1.6.0。Hadoop版本為1.0.4,Hive版本為0.10.0??臻g數(shù)據(jù)存儲采用HDFS分布式文件系統(tǒng),空間數(shù)據(jù)采用GeoJSON文本格式存儲,空間運算采用MapReduce分布式計算模型,空間計算接口采用GIS Tools for Hadoop接口。在完成分布式計算環(huán)境部署后,集群由1個NameNode節(jié)點和6個DataNode節(jié)點組成。采用一臺DELL PowerEdge R820服務(wù)器作為對比,配備2.60 GHz Intel Xeon E5的48核處理器,248GB內(nèi)存,2TB硬盤,服務(wù)器安裝Windows Server 2008操作系統(tǒng),安裝Oracle 12c以及Oracle Spatial作為空間運算環(huán)境。
試驗設(shè)置時,將5組實驗數(shù)據(jù)分別導入到HDFS文件系統(tǒng)和Oracle數(shù)據(jù)庫中,采用相同規(guī)模數(shù)據(jù)以及相同的計算內(nèi)容開展對比試驗,為保證結(jié)果的可靠性,采用5次重復計算的平均時間作為實際耗時。此外,依次從1到6改變集群節(jié)點的數(shù)量,統(tǒng)計20000個圖斑面積分區(qū)統(tǒng)計的耗時,分析測試Hadoop集群的橫向拓展性能,為全國規(guī)模海量數(shù)據(jù)的統(tǒng)計分析應(yīng)用提供依據(jù)。
5組實驗數(shù)據(jù)的測試結(jié)果見表2。
表2 Hadoop分布式集群和Oracle數(shù)據(jù)庫計算時間對比Tab.2 Statistics of process times between Hadoop cluster with Oracle Spatial
從結(jié)果來看,當數(shù)據(jù)規(guī)模較小時,Hadoop集群的計算性能相對較低,地表覆蓋統(tǒng)計分析的耗時遠遠高于Oracle數(shù)據(jù)庫服務(wù)器;但隨著數(shù)據(jù)規(guī)模的增大,Hadoop集群的耗時增速明顯低于Oracle數(shù)據(jù)庫服務(wù)器,Hadoop的分布式計算優(yōu)勢逐漸得到體現(xiàn)。當?shù)乇砀采w圖斑個數(shù)在1 000 000個時Hadoop集群計算時間與Oracle數(shù)據(jù)庫服務(wù)器基本持平,繼續(xù)增加數(shù)據(jù)量時,Hadoop集群的計算性能明顯超過數(shù)據(jù)庫服務(wù)器。分析原因,Hive是建立在Hadoop計算集群上的分布式處理系統(tǒng),在計算任務(wù)的提交和處理時牽涉到Hadoop集群的初始化、任務(wù)調(diào)度、資源分配以及集群間的網(wǎng)絡(luò)傳輸,這些過程需要一定的時間。在數(shù)據(jù)量較少時,Hive的集群延遲時間甚至大于分析計算時間,而Oracle關(guān)系型數(shù)據(jù)庫在計算時的系統(tǒng)耗時相對較少,表現(xiàn)為Hive集群的計算性能遠不如Oracle數(shù)據(jù)庫。但當數(shù)據(jù)量增大時,Hadoop集群的系統(tǒng)延遲耗時基本穩(wěn)定,且數(shù)據(jù)計算的耗時逐步增加,延遲時間只占總耗時的小部分,此時Hive集群的整體優(yōu)勢逐漸體現(xiàn)出來。這一結(jié)論表明,Hadoop集群更適合于大數(shù)據(jù)量的分析計算,其分布式計算的資源聚合效應(yīng)在應(yīng)對大數(shù)據(jù)量時具有明顯優(yōu)勢。
拓展性能測試結(jié)果如圖4所示。
圖4 Hadoop集群不同節(jié)點數(shù)耗時對比Fig.4 Process time-consuming of Hadoop cluster with various nodes
從實驗結(jié)果來看,Hadoop集群的計算耗時隨著計算節(jié)點的增加而穩(wěn)定減少,表明Hadoop集群具有較好的橫向拓展性能。在應(yīng)對大規(guī)模地理國情數(shù)據(jù)統(tǒng)計分析問題時,可通過增加計算節(jié)點不斷提高Hadoop集群的整體性能,以滿足全國性地理國情統(tǒng)計分析的實際需求。
本文針對傳統(tǒng)關(guān)系型數(shù)據(jù)庫在海量空間數(shù)據(jù)存儲與統(tǒng)計分析方面的能力不足問題,基于Hadoop分布式計算技術(shù),設(shè)計了面向大規(guī)模統(tǒng)計分析的地理國情高性能計算框架,并針對地理國情地表覆蓋數(shù)據(jù)分區(qū)分類面積統(tǒng)計典型應(yīng)用場景,實現(xiàn)了地理國情地表覆蓋數(shù)據(jù)分區(qū)分類統(tǒng)計分析試驗,驗證了Hadoop集群在地理國情統(tǒng)計分析性能和集群的橫向拓展性能。實驗結(jié)果表明,Hadoop集群在海量地理國情地表覆蓋數(shù)據(jù)分布式存儲和計算方面比關(guān)系型數(shù)據(jù)庫服務(wù)器具有更好的性能,且通過集群節(jié)點的逐步增加實驗驗證了集群良好的橫向拓展性能,為不斷增加的海量地理國情空間數(shù)據(jù)存儲和計算提供了行之有效的解決方案。
目前,該分布式計算框架僅在較小規(guī)模的Hadoop集群上驗證了地理國情分布式計算分析的可行性,且目前采用的MapReduce分布式計算模型在計算效率上并不能真正發(fā)揮計算機硬件的性能,并且試驗數(shù)據(jù)在規(guī)模上與全國規(guī)模地理國情監(jiān)測數(shù)據(jù)存在非常大的差距,因此下一步將從集群升級、內(nèi)存計算技術(shù)、測試數(shù)據(jù)規(guī)模等方面深入開展研究,包括嘗試Hadoop集群與HBase分布式數(shù)據(jù)庫的整合,提高查詢檢索及分布計算的存儲和IO性能;條件允許的情況下,進一步增加集群的節(jié)點數(shù)目或者基于高性能服務(wù)器構(gòu)建集群,使得計算平臺的性能能夠滿足實際應(yīng)用水平;深入研究基于Spark的分布式內(nèi)存計算技術(shù),研制地理國情空間分析接口組件,全面提升分布式計算效率。此外,也將致力于構(gòu)建滿足地理國情分析應(yīng)用的開放性地理國情分析平臺,通過服務(wù)封裝將分布式計算集群與數(shù)據(jù)庫一體機云平臺等成熟分析平臺相結(jié)合,實現(xiàn)Spark數(shù)據(jù)密集型與數(shù)據(jù)庫云計算密集型的協(xié)同效應(yīng),滿足全國規(guī)模的地理國情監(jiān)測大數(shù)據(jù)的基本統(tǒng)計、專題分析與時空建模的應(yīng)用需要。