李繼園,孟令奎,蔡 陽,張 文,段紅偉
1.武漢大學(xué)遙感信息工程學(xué)院,湖北 武漢 430079;2.水利部水利信息中心,北京,100053
分布式遙感空間在線分析處理的多維分析模型及其旱情應(yīng)用
李繼園1,孟令奎1,蔡 陽2,張 文1,段紅偉1
1.武漢大學(xué)遙感信息工程學(xué)院,湖北 武漢 430079;2.水利部水利信息中心,北京,100053
近年來,空間在線分析處理(spatial on-line analytical processing,SOLAP)技術(shù)已逐漸應(yīng)用于遙感多維分析研究領(lǐng)域,但其計(jì)算性能仍面臨大規(guī)模數(shù)據(jù)的挑戰(zhàn)。本文借鑒數(shù)據(jù)密集型計(jì)算模式Map-Reduce在OLAP領(lǐng)域的相關(guān)應(yīng)用研究,提出一種基于該模式擴(kuò)展的遙感數(shù)據(jù)SOLAP立方體模型。在數(shù)據(jù)分級分塊基礎(chǔ)上,對現(xiàn)有模型在分布式環(huán)境下進(jìn)行了適應(yīng)性改進(jìn),并在Map-Reduce支持下,通過引入多維地圖代數(shù)將該模型中的SOLAP計(jì)算轉(zhuǎn)化為基于柵格塊粒度的并行地圖代數(shù)操作。以遙感旱情應(yīng)用為例闡述了模型的構(gòu)建與應(yīng)用過程,并實(shí)現(xiàn)了原型。試驗(yàn)結(jié)果證明了該模型在大規(guī)模數(shù)據(jù)處理情況下具有較好加速性能與可擴(kuò)展性。
空間在線分析處理;數(shù)據(jù)密集型計(jì)算;旱情監(jiān)測
空間在線分析處理(spatial on-line analytical processing,SOLAP)通過擴(kuò)展OLAP技術(shù)到GIS中,建立了一種有效的多維多層次空間數(shù)據(jù)快速分析和挖掘方法[1]。隨著遙感數(shù)據(jù)的廣泛應(yīng)用以及地圖代數(shù)語言在空間分析與建模方面的快速發(fā)展,近年來一些學(xué)者已在概念上提出利用SOLAP多維模型支持以遙感影像為代表的連續(xù)場時(shí)空分析(R-SOLAP)[25]。該類方法將空間幾何對象離散化的柵格作為空間度量,并基于封閉式地圖代數(shù)實(shí)現(xiàn)時(shí)空聚集計(jì)算。由于對地觀測平臺持續(xù)產(chǎn)生大規(guī)模遙感數(shù)據(jù)流,對R-SOLAP計(jì)算性能提出了很高的要求,已遠(yuǎn)遠(yuǎn)超出單機(jī)的分析能力。目前有少數(shù)面向多維柵格分析的分布式/并行數(shù)據(jù)庫可緩解遙感數(shù)據(jù)倉庫所面臨的大數(shù)據(jù)壓力。例如,Oracle在單機(jī)并行模式下研究利用地圖代數(shù)擴(kuò)展GeoRaster[6];文獻(xiàn)[7—8]則基于數(shù)組代數(shù)提供MOLAP操作,并擴(kuò)展至高性能并行機(jī)。然而,這類方法目前還未出現(xiàn)SOLAP擴(kuò)展,其并行模式的擴(kuò)展性和容錯性在大數(shù)據(jù)環(huán)境下還面臨一定的挑戰(zhàn)。
數(shù)據(jù)密集型計(jì)算技術(shù)為解決此問題提供了一種新途徑。其典型計(jì)算模式Map Reduce(簡稱MR)具有較強(qiáng)的容錯和伸縮能力[9]?;贛R模式的開源框架Hadoop(http:∥hadoop.a(chǎn)pache.org/)已能擴(kuò)展至上千個(gè)普通計(jì)算節(jié)點(diǎn),且已應(yīng)用于科學(xué)數(shù)據(jù)密集型領(lǐng)域[10-11]。在MR模式支持下,海量數(shù)據(jù)的OLAP分析可通過實(shí)時(shí)計(jì)算,而非預(yù)計(jì)算所有方體來滿足性能要求。此類研究已逐漸成為大數(shù)據(jù)分析研究熱點(diǎn),但主要還集中在數(shù)值文本數(shù)據(jù)[12-14]。嘗試在MR環(huán)境下建立RSOLAP方體模型,可為遙感多維分析及數(shù)據(jù)挖掘提供有力支撐。盡管當(dāng)前已有學(xué)者研究利用MR處理遙感影像,但在R-SOLAP多維分析上的應(yīng)用仍處于起步階段[15-16]。
基于以上出發(fā)點(diǎn),本文提出了一種以MR擴(kuò)展的分布式柵格多維模型(Tile-Cube)以支持大規(guī)模數(shù)據(jù)的R-SOLAP分析。Tile-Cube模型在分布式環(huán)境下適應(yīng)性地改進(jìn)了現(xiàn)有R-SOLAP,并引入多維地圖代數(shù)[17],將SOLAP計(jì)算解構(gòu)為柵格塊粒度上的并行地圖代數(shù)操作,進(jìn)而表達(dá)為MR任務(wù)流。同時(shí),Tile-Cube以透明接口屏蔽了數(shù)據(jù)密集型計(jì)算復(fù)雜性。本文以遙感旱情分析為例闡述了其構(gòu)建與應(yīng)用過程。性能測試結(jié)果證明了此模型在大規(guī)模數(shù)據(jù)情況下的加速性能和可擴(kuò)展性。
2.1 Map-Reduce簡介
Map-Reduce通過映射(Map)和規(guī)約(Reduce)函數(shù)實(shí)現(xiàn)大規(guī)模數(shù)據(jù)并行操作,如圖1所示,每個(gè)MR Job(一個(gè)完整的批處理過程)以Key-Value(K-V)數(shù)據(jù)集為輸入,執(zhí)行:①M(fèi)ap階段接收到K-V數(shù)據(jù)分片后執(zhí)行用戶定義函數(shù),并輸出中間K-V到本地;②Shuffle階段對中間結(jié)果分組排序后發(fā)送至Reduce端;③遠(yuǎn)程節(jié)點(diǎn)上的Reduce階段執(zhí)行用戶函數(shù),處理分組數(shù)據(jù)集,并輸出最終結(jié)果到分布式存儲。利用組合Key可實(shí)現(xiàn)多維數(shù)據(jù)集操作,基于多個(gè)鏈接Job可建立復(fù)雜處理流程。在典型的MR環(huán)境中,計(jì)算節(jié)點(diǎn)即存儲節(jié)點(diǎn)(data/compute node,DCN)。任務(wù)調(diào)度可通過本地化計(jì)算(移動計(jì)算到數(shù)據(jù)所在節(jié)點(diǎn))而減少傳輸,增強(qiáng)計(jì)算的可伸縮性[9-10]。
2.2 R-SOLAP概述
一般的,SOLAP立方體可定義為一個(gè)三元組〈D,M,Γ〉,其中:①D={d1,d2,…,dn}為維集合,維定義為元組〈L,→〉,L是維中有限層次集合{l1,l2,…,lj},每個(gè)l∈L中有若干成員,→代表兩個(gè)層次間的聚集關(guān)系(如li→lj表示由li向lj聚集)。D包括空間維和非空間維,空間維每層內(nèi)成員為空間幾何對象。②M={m1,m2,…,mn}為度量集合,度量是若干維確定的某個(gè)對象屬性值,包括數(shù)值和空間度量。③Γ={f1,f2,…,fn}為聚集函數(shù),是具體度量的計(jì)算方法。SOLAP方體是一種抽象且互動性較強(qiáng)的模型,強(qiáng)調(diào)多維視角的空間信息發(fā)現(xiàn)?;诖四P停啥x或執(zhí)行各種SOLAP操作,如切塊(dice),切片(slice),上卷(roll-up),鉆?。╠rill-across)及旋轉(zhuǎn)(pivoting)等。
然而,SOLAP模型以離散空間幾何數(shù)據(jù)為操作對象,無法適用于表達(dá)連續(xù)地理現(xiàn)象的遙感信息。因此,R-SOLAP以空間幾何對象Ogeom為邊界離散化柵格,建立了新的空間度量形式——柵格對象:Oras=〈R,Ogeom〉,并以幾何對象層次作為空間維度來支持柵格對象的時(shí)空聚集[3-5]。R-SOLAP操作是聚集函數(shù)的N維泛化,依賴于地圖代數(shù)。因此要實(shí)現(xiàn)R-SOLAP操作向上述MR Job的轉(zhuǎn)化,需要將相應(yīng)地圖代數(shù)函數(shù)轉(zhuǎn)化為MR Job的Map和Reduce階段?,F(xiàn)有RSOLAP模型基于二維地圖代數(shù),盡管在時(shí)空多維操作方面作了定義和描述,但在二維空間中實(shí)現(xiàn)SOLAP計(jì)算向多維數(shù)據(jù)集的MR計(jì)算轉(zhuǎn)化仍然具有一定復(fù)雜性,如時(shí)間維在映射和規(guī)約函數(shù)中無法直接納入時(shí)空域的統(tǒng)一分析模式中,且SOLAP操作的后期擴(kuò)展也受到限制。
2.3 分布式R-SOLAP架構(gòu)
筆者引入多維地圖代數(shù)(multi-dimensional map algebra,MMA)作為中間抽象層以輔助RSOLAP向MR Job的轉(zhuǎn)化[17]。地圖代數(shù)通常包括Local、Focal和Zonal函數(shù)及各種操作算子[2],如圖1(a)、(b)所示(由于本文未用到Focal函數(shù),故不贅述)。MMA將這些函數(shù)和操作擴(kuò)展至三維或多維數(shù)據(jù)模型,實(shí)現(xiàn)了一體化的時(shí)空分析,如圖1(c)、(d)所示。
圖1 傳統(tǒng)地圖代數(shù)與多維地圖代數(shù)示意圖Fig.1 Traditional and multidimensional map algebra
MMA方體可視為SOLAP方體中每個(gè)維上只有一個(gè)層級的方體子集,因此更符合SOLAP的多維分析模式。分布式環(huán)境下,利用MMA計(jì)算的數(shù)據(jù)可并行性,將MMA方體分割成塊。每個(gè)塊的Key為其維標(biāo)示,Value為塊柵格值,從而可建立多維K-V數(shù)據(jù)集。以該數(shù)據(jù)集為輸入,SOLAP操作可轉(zhuǎn)化為封裝在MR Job中的并行地圖代數(shù)計(jì)算。圖2給出了R-SOLAP的分布式架構(gòu),包括客戶端和 MR環(huán)境??蛻舳颂峤籗OLAP查詢后,MR環(huán)境中的SOLAP驅(qū)動器將請求解析為MMA計(jì)算,然后轉(zhuǎn)化為相應(yīng)的MR Job,并提交至環(huán)境中主節(jié)點(diǎn)的調(diào)度隊(duì)列。當(dāng)前Job中的子任務(wù)被自動調(diào)度到多個(gè)DCN執(zhí)行,最終處理結(jié)果在存儲端匯集,并返回至客戶端。要實(shí)現(xiàn)上述過程,首先需要在MR環(huán)境下建立RSOLAP模型的描述與存儲機(jī)制;其次需要在MMA支持下研究SOLAP計(jì)算向MR階段的轉(zhuǎn)化機(jī)制,這兩者都需要向上層分析屏蔽底層分布式復(fù)雜性,從而使得分析人員無需關(guān)心空間基礎(chǔ)設(shè)施的運(yùn)行機(jī)制與原理。
3.1 Tile-Cube模型
分布式環(huán)境下,柵格一般被分割為大小一致的數(shù)據(jù)塊以實(shí)現(xiàn)基于數(shù)據(jù)并行的均衡存儲與計(jì)算。建立分布式R-SOALP模型需顧及幾個(gè)方面:首先,由于遙感數(shù)據(jù)的多源化和多時(shí)空尺度化,需要基于統(tǒng)一的格網(wǎng)劃分以支持同一時(shí)空尺度內(nèi)的封閉式地圖代數(shù)運(yùn)算。其次,連續(xù)地理現(xiàn)象被離散化為一系列地理單元后,需要建立基于單元的時(shí)空對象表達(dá)方法以支持空間維聚集。此外,多樣化遙感數(shù)據(jù)類型及其衍生數(shù)據(jù)間的復(fù)雜關(guān)系,很難用方體中的維層聚集關(guān)系來表達(dá)?;谝陨戏治?,對原模型的適應(yīng)性改進(jìn)如下:
圖2 分布式R-SOLAP架構(gòu)圖Fig.2 Distributed architecture of R-SOLAP
(1)度量Tile。以Geodetic投影下基于2n+1×2n劃分的全球空間信息多級格網(wǎng)為空間維基本層[18],將柵格劃分為具有各向同性的數(shù)據(jù)單元(Tile)。作為方體中的基本空間度量,Tile也是分布式環(huán)境下的基本存儲與計(jì)算單元。此時(shí),幾何對象Ogeom覆蓋的Tile集合可粗略地表達(dá)柵格對象為〈{S},Ogeom〉。
(2)Tile的空間支持。由于格網(wǎng)層可靈活表達(dá)地理對象,各種空間維層次 (如行政區(qū)或流域?qū)蛹墸┒伎蓸?gòu)建于格網(wǎng)層之上。一般的,下層對象與上層間的聚集關(guān)系為N∶1(如N地區(qū):1?。珗D3顯示Tile A和B在表達(dá)上層對象時(shí)出現(xiàn)了1(tile):N(對象)和N∶N的映射關(guān)系。記Tile度量T中由Ogeom所覆蓋的部分為Tgeom,記以T為地理邊界的幾何對象集為GT,稱為tile的空間支持。則在tgeom的支持下可建立Tgeom到Ogeom的N∶1或1∶1映射關(guān)系,此時(shí)柵格對象可準(zhǔn)確表達(dá)為。Tile的空間維聚集可產(chǎn)生多種度量形式,如Tile→數(shù)值度量,Tile→空間幾何度量,或Tile→柵格度量(分辨率降低)。為簡化Tile-Cube模型描述,下文僅考慮第一類情況。
圖3 Tile與上層地理對象間的聚集關(guān)系Fig.3 Relations between tile and upper geometry objects
(3)方體間聚集。不同數(shù)據(jù)類型建立不同的方體,因此一個(gè)面向主題應(yīng)用的方體集合可表示為顯式聲明了方體間的聚集關(guān)系,如表示C1和 C2通過F計(jì)算得到C3。
(4)K-V集合。MMA方體在SOLAP方體內(nèi)的時(shí)空范圍M 可描述為式(1)。式中,u為方體類型;MD表示MMA方體在SOLAP方體的D維取值集合;{d1,d2,…,dn}為D中l(wèi)層上的成員子集。如{c1,c2,…,cm}表示空間維單元集合(由經(jīng)緯框、矢量邊界或地名定義的Ogeom轉(zhuǎn)換為地理單元編碼集),{t1,t2,…,tn}可表示時(shí)間維取值集合(由查詢時(shí)間邊界條件定義或離散時(shí)間成員組成)。從而,一個(gè)MMA方體的時(shí)空范圍(Key值)和相應(yīng)的Tile集合(Value值)共同建立了MR Job的多維K-V集合
由于K-V數(shù)據(jù)庫具有良好的擴(kuò)展性,并能與MR自然集成以實(shí)現(xiàn)分布式并行查詢與寫入,本文采用K-V數(shù)據(jù)庫HBase建立Tile-Cube多維存儲事實(shí)表。作為事實(shí)表的索引項(xiàng),行?。≧ow Key)被設(shè)計(jì)為“空間維編碼+類型編碼+時(shí)間維編碼”(空間維地理單元采用Morton編碼),使得Tile在表中能按照空間維(c)→數(shù)據(jù)類型(u)→時(shí)間維(t)順序排列,保證了同一地理單元上的Tile可存儲在相同或相近物理區(qū)域,從而顯著減少M(fèi)MA的網(wǎng)絡(luò)傳輸。行健、列和時(shí)間戳共同映射的存儲單元,用以存儲Tile或數(shù)值度量。Tile-Cube對應(yīng)的空間支持文件(即格網(wǎng)劃分后的矢量數(shù)據(jù))預(yù)先緩存于各計(jì)算節(jié)點(diǎn),每個(gè)Tile可通過Row Key指向本地空間支持。此外,各節(jié)點(diǎn)上部署的方體描述文件定義了SOLAP方體、各維信息及其與表結(jié)構(gòu)間的映射關(guān)系。數(shù)據(jù)訪問接口通過該文件可將M解析為索引內(nèi)容,并通過HBase內(nèi)建掃描器(SCAN)執(zhí)行分布式查詢,最后返回結(jié)果到MMA方體中,從而完成數(shù)據(jù)到視圖的映射。
3.2 分布式R-SOLAP計(jì)算
由前文描述可知,Tile-Cube中的R-SOLAP計(jì)算實(shí)質(zhì)是將相應(yīng)MMA轉(zhuǎn)化為Map和Reduce階段中基于Tile的并行地圖代數(shù)。下文以Mean操作及其MMA函數(shù)應(yīng)用(Local Mean和Zonal Mean)具體闡述R-SOLAP中鉆過和上卷操作的具體實(shí)現(xiàn)機(jī)制。
(1)鉆過操作(drill-across):鉆過操作是方體類型由u1,u2,…,un聚集到uo的過程,該操作通過連接同一地理位置的度量而進(jìn)行各種分析(如回歸計(jì)算、數(shù)據(jù)融合等),可視為多個(gè)MMA方體執(zhí)行Local函數(shù)。若聚集函數(shù)為Local Mean,則輸出方體元素可由式(2)計(jì)算,式中,Tcuit為各輸入方體在位置〈c,ui,t〉上元素。而該計(jì)算又可轉(zhuǎn)換為對一組輸入瓦片執(zhí)行傳統(tǒng)地圖代數(shù)函數(shù)Local Mean。圖4(a)顯示了利用植被條件指數(shù)方體CVCI和溫度條件指數(shù)方體CVCI基于公式(CVCI× λ+CVCI×(1-λ)=CVHI)計(jì)算植被健康指數(shù)方體CVHI的實(shí)例[19]。當(dāng)λ=0.5,該計(jì)算即Local Mean
(2)上卷操作(roll-up):上卷計(jì)算是對Tile在時(shí)間或空間維或時(shí)空維的聚集過程,可分別利用統(tǒng)計(jì)區(qū)域?yàn)闀r(shí)間區(qū)域Ztime、區(qū)域Zgrid以及時(shí)空
空間維上卷是空間維格網(wǎng)層成員c1,c2,…,cn聚集到上層成員go的過程。若聚集方法為Mean,則該過程可視為方體C以Zgrid為統(tǒng)計(jì)區(qū)域,基于Zonal Mean(C,Zgrid)計(jì)算落入每個(gè)區(qū)域內(nèi)的輸入元素均值。區(qū)域g0的統(tǒng)計(jì)值lgout可由式(4)計(jì)算,其中,n表示g0內(nèi)Tile的個(gè)數(shù)。圖4(c)給出的地區(qū)代表值統(tǒng)計(jì)過程顯示,該計(jì)算可分為Tile內(nèi)聚集和Zgrid內(nèi)聚集:首先每個(gè)Tile結(jié)合其空間支持執(zhí)行3.1節(jié)所述映射過程,以(GT中屬于g0的部分)為區(qū)域,執(zhí)行Tile粒度上的ZonalSum和ZonalCount而得到中間結(jié)果(sum&count),然后分別在區(qū)域A和B內(nèi)匯集結(jié)果,執(zhí)行f=∑sumn/∑countn以統(tǒng)計(jì)各區(qū)域內(nèi)元素均值。
圖4 Tile-Cube中的R-SOLAP計(jì)算及MR階段示意圖Fig.4 Computations and MR phases of R-SOLAP in Tile-Cube
由上述分析可知,由于Tile的引入,SOLAP操作需要在兩個(gè)步驟內(nèi)完成:即Tile粒度上的處理和聚集區(qū)域內(nèi)的計(jì)算,并可轉(zhuǎn)化為MR Job的Map和Reduce階段任務(wù),如圖4(d)所示。在鉆過和時(shí)間維上卷的Map階段中,每個(gè)mapper讀取輸入方體中的Tile,傳遞至Reduce端,Reduce對Map分組結(jié)果執(zhí)行Local計(jì)算??臻g維上卷的Map階段中,每個(gè)mapper讀取Tile后執(zhí)行Tile粒度上的Zonal計(jì)算,Reduce對Map分組結(jié)果執(zhí)行區(qū)域內(nèi)聚集。Map的輸入Key為Tile的多維標(biāo)示〈c,u,t〉,根據(jù)不同的聚集方向(如u→uo,c→go,t→to)輸出不同Key值(〈c,uo,t〉,〈go,u,t〉,〈c,u,to〉),從而將中間結(jié)果按照聚集區(qū)域分組并輸入Reduce階段。若方體在時(shí)空域執(zhí)行上卷,則聚集方向?yàn)椋襇ap輸出Key為〈go,u,to〉。除Mean外,Tile-Cube還實(shí)現(xiàn)了Local/Zonal函數(shù)的其他操作算子,如計(jì)算類(Add/Sub/Multiply),統(tǒng)計(jì)類(Max/Min)以及比較類(Great Than/Less Than/Equal)。由各種函數(shù)和操作定義的Map和Reduce階段共同構(gòu)建了MR Job執(zhí)行庫(SOLAP Lib)。由于Map和Reduce基于K-V實(shí)現(xiàn)通信,因此Map和Reduce階段可重組建立新的Job,以擴(kuò)展模型中維層聚集和方體間聚集關(guān)系。
結(jié)合2.3節(jié)的分布式架構(gòu),R-SOLAP向MR Job的轉(zhuǎn)化與執(zhí)行過程可描述如圖5所示。SOLAP驅(qū)動器基于SOLAP Lib將客戶端SOLAP請求轉(zhuǎn)化為MR Job程序,基于方體定義文件(Cube)將數(shù)據(jù)查詢范圍解析為數(shù)據(jù)庫SCAN條件,同時(shí)配置Job其他參數(shù),最終提交至Hadoop主節(jié)點(diǎn)上的Job Tracker。DCN上的Task Tracker輪流向Job Tracker申請子任務(wù)。SCAN將在DCN上執(zhí)行分布式查詢,且每個(gè)節(jié)點(diǎn)上的查詢結(jié)果作為本地輸入,以執(zhí)行該Job的Map任務(wù)。Reduce則收集Map分組結(jié)果,完成處理并執(zhí)行入庫及后處理(如投影與圖表繪制)。
基于Hadoop0.23.0/HBase0.92.0(默認(rèn)配置)在具有1 G bps理論網(wǎng)速的刀片集群(8個(gè)計(jì)算節(jié)點(diǎn),1個(gè)管理節(jié)點(diǎn),各節(jié)點(diǎn)配置4個(gè)雙核2.4 GHz CPU和12 GB RAM)上建立分布式環(huán)境。利用Java編程語言和集成了GDAL(http:∥www.gdal.org/)的MMA(http:∥code. google.com/p/mdma/),實(shí)現(xiàn)了現(xiàn)有遙感旱情監(jiān)測與分析系統(tǒng)的一個(gè)Tile-Cube實(shí)例,并通過下述測試證明模型的加速優(yōu)勢。系統(tǒng)利用實(shí)時(shí)接收MODIS(moderate resolution imaging spectrometer)數(shù)據(jù)合成遙感地表特征參數(shù)(如植被信息NDVI和地表溫度LST等)的日度、旬度和月度信息,并累計(jì)歷史同期值;然后基于這類參數(shù)構(gòu)建各時(shí)期旱情指數(shù)VCI,TCI及VHI。采用2011年全國及周邊地區(qū)250 m MODIS數(shù)據(jù),預(yù)先完成投影和1.25°×1.25°(n=7)格網(wǎng)劃分并入庫。
圖5 R-SOLAP計(jì)算的MR Job執(zhí)行過程Fig.5 Execution of MR Job of R-SOLAP
4.1 旱情應(yīng)用流程及性能測試
上述旱情計(jì)算涉及大量信息的多時(shí)相聚集以及長時(shí)序歷史數(shù)據(jù)分析。為支持此應(yīng)用,構(gòu)建了如圖6(a)所示的Tile-Cube模型,包含若干方體。各方體對應(yīng)一類信息或參數(shù),且共用時(shí)間維和空間維。其中,空間維可為流域或行政區(qū)層級,方體度量包括Tile和區(qū)域統(tǒng)計(jì)值。所有計(jì)算過程都可用維層次及方體間聚集函數(shù)來描述。由于存儲資源限制,預(yù)先完成所有方體計(jì)算并不現(xiàn)實(shí),在查詢度量不存在情況下可利用SOLAP操作語言實(shí)時(shí)計(jì)算。圖6(b)給出僅日度NDVI存在的情況下,VCI地區(qū)均值統(tǒng)計(jì)的查詢實(shí)例及SOLAP操作語句。計(jì)算流程為:首先通過時(shí)間維上卷(spatial roll-up)對日度NDVI進(jìn)行聚集方法為Mean的旬合成。然后,將合成結(jié)果與歷史累計(jì)方體ChNDVI連接,執(zhí)行drill-across以計(jì)算VCI旱情指數(shù)。為得到各行政地區(qū)的旱情分布概況,在地區(qū)Zone的支持下利用空間維上卷(time rollup)聚集各地區(qū)VCI均值。圖8(a)顯示了長江流域中下游部分省份在2011年4月中旬和5月上旬的VCI計(jì)算結(jié)果,表明5月份旱情已從上游地 區(qū)和湖北擴(kuò)大至中游湖南和江西等多省地區(qū)。
圖6 Tile-Cube模型的旱情監(jiān)測應(yīng)用Fig.6 Application of Tile-Cube in drought monitoring
試驗(yàn)基于上述VCI均值統(tǒng)計(jì)過程,考察了Tile-Cube(稱為MR模式)的加速性能。將原有旱情應(yīng)用系統(tǒng)(IDL編寫的單機(jī)串行批處理程序)作為加速比計(jì)算基準(zhǔn)(稱為Legacy),并基于RSOLAP方法以多線程方式(6個(gè))設(shè)計(jì)客戶端/服務(wù)器環(huán)境下的并行查詢程序(稱為C/S模式)作為對比。為避免數(shù)據(jù)索引對C/S執(zhí)行時(shí)間造成影響,每次試驗(yàn)前將所需數(shù)據(jù)存儲于同一目錄,客戶端先發(fā)出請求,服務(wù)器讀取所需Tile執(zhí)行所有計(jì)算并出圖。每次測試后清除中間和結(jié)果數(shù)據(jù)以避免緩存對下次測試帶來影響。試驗(yàn)分別在上述模式下執(zhí)行一組測試,數(shù)據(jù)量為1.3 GB(1旬部分地區(qū)),15.9 GB(1旬),48.4 GB(1個(gè)月),142.6 GB(3個(gè)月),552.1 GB(12個(gè)月)。其中,Legacy模式完成時(shí)間分別為1.3 min,17.7 min,49.7 min,145 min,538.4 min。測試C/S和MR模式(滿節(jié)點(diǎn))隨該數(shù)據(jù)量變化的時(shí)間開銷(包括MR每步計(jì)算時(shí)間),計(jì)算加速比如圖7(a)所示。
圖7 MR模式和C/S模式的R-SOLAP加速性能對比Fig.7 Performance comparison of R-SOLAP based on MR mode and C/S mode
此計(jì)算流程包含3個(gè)串聯(lián)MR Job,包括NDVI合成(NDVI Job),VCI計(jì)算(VCI Job)和VCI統(tǒng)計(jì)(VCI-Stat Job)。由于MR啟動延遲較大,該計(jì)算在小數(shù)據(jù)量情況下效率明顯低于Legacy和C/S模式。當(dāng)數(shù)據(jù)量增長至15.9 GB時(shí),其總體加速性能可超過C/S并繼續(xù)上升,到達(dá)16.5倍加速比后開始趨于穩(wěn)定,此時(shí)集群吞吐速率已達(dá)飽和狀態(tài)。在1年的數(shù)據(jù)處理中,MR的每步計(jì)算效率分別達(dá)到Legacy的20.1,17.4和15.4倍。結(jié)果顯示MR模式加速性能隨數(shù)據(jù)量增大而穩(wěn)步提高,持續(xù)增長情況下可保持穩(wěn)定,具有較好的數(shù)據(jù)可擴(kuò)展性。
如圖7(b)、(c)所示,試驗(yàn)同時(shí)測試了兩種模式隨節(jié)點(diǎn)增長的執(zhí)行時(shí)間變化。當(dāng)數(shù)據(jù)量為15.9 GB時(shí),在節(jié)點(diǎn)增長前期加速性能緩慢,3個(gè)節(jié)點(diǎn)后才超過C/S模式;節(jié)點(diǎn)增長后期,其數(shù)據(jù)并行度增大,達(dá)到Legacy模式的7.2倍。當(dāng)數(shù)據(jù)量為48.4 GB時(shí),MR模式執(zhí)行效率能很快超過C/S,實(shí)現(xiàn)16.5倍加速。該結(jié)果表明在數(shù)據(jù)量較大時(shí)MR模式隨節(jié)點(diǎn)增長的加速性能發(fā)揮明顯,具有較好的節(jié)點(diǎn)可擴(kuò)展性。與現(xiàn)有方法相比,除性能優(yōu)勢外,Tile-Cube可方便地執(zhí)行統(tǒng)一的時(shí)空域分析。為進(jìn)一步了解各地區(qū)內(nèi)每種地物對旱情響應(yīng)的敏感性,在地表分類Zone和月度Zone共同建立的時(shí)空方體Zone支持下,利用時(shí)空域上卷統(tǒng)計(jì)各地物VCI月際變化。圖8(b)顯示了湖北石首市在3—5月份VCI分類統(tǒng)計(jì)情況。這段時(shí)期該市持續(xù)高溫?zé)o雨,土壤嚴(yán)重失墑。其中水田受災(zāi)嚴(yán)重,對干旱反應(yīng)靈敏,5月份VCI降幅達(dá)75%,其他地物則有不同程度災(zāi)情變化。
4.2 性能影響因素分析
上述試驗(yàn)顯示了數(shù)據(jù)增長對加速性能的影響。為進(jìn)一步考察數(shù)據(jù)在時(shí)間維或空間維的增長模式對性能的影響差異,圖9(a)、(b)測試了在數(shù)據(jù)總量為6000個(gè)Tile的6組數(shù)據(jù)(cell×time)情況下,NDVI旬合成(time roll-up)和NDVI區(qū)域統(tǒng)計(jì)(spatial roll-up)的網(wǎng)絡(luò)與時(shí)間開銷。測試5次取均值。結(jié)果顯示,隨著空間范圍的縮小,時(shí)間維增大,二者執(zhí)行時(shí)間均單調(diào)遞增,且幅度不同。由于模型為遵循計(jì)算本地化,將對應(yīng)相同cell的一組Tile存儲在同一或相近區(qū)域,而不同cell的Tile在集群中分散存儲,因此空間范圍擴(kuò)大會提升SOLAP加速性能。而時(shí)間序列過長且空間范圍較小的情況下節(jié)點(diǎn)易滿載,多余任務(wù)被分配至其他節(jié)點(diǎn)增加了傳輸開銷,因此優(yōu)化措施中需要兼顧兩者平衡。
圖8 旱情應(yīng)用實(shí)例的分析結(jié)果Fig.8 Results of drought analysis examples
Tile的大小與單個(gè)Map/Reduce任務(wù)量有直接關(guān)系,因此影響到MR Job性能。圖9(c)在3種格網(wǎng)劃分(0.625°×0.625°,1.25°×1.25°,2.5°× 2.5°)情況下進(jìn)行上述1旬?dāng)?shù)據(jù)的NDVI旬合成(time roll-up),VCI計(jì)算(drill-across)和VCI區(qū)域統(tǒng)計(jì)(spatial roll-up),測試5次取執(zhí)行時(shí)間均值。結(jié)果顯示spatial roll-up和drill-across的執(zhí)行效率均隨Tile變大而減小,這是由于小粒度劃分易產(chǎn)生大量Map小任務(wù),進(jìn)而導(dǎo)致線程管理與調(diào)度開銷增大。理論上,格網(wǎng)每細(xì)分一層,Map數(shù)將增多4倍。相反,time roll-up執(zhí)行效率隨Tile粒度變化呈上升趨勢,其Reduce階段需執(zhí)行計(jì)算復(fù)雜度較高的多天合成,因此任務(wù)的小粒度劃分增大了并行數(shù),反而有助于加速處理。該結(jié)果顯示計(jì)算復(fù)雜度高的查詢?nèi)蝿?wù)采用小粒度Tile可獲得較好的加速性能。此外,網(wǎng)速/內(nèi)存額度/MR任務(wù)重疊率等均對此模型有不同程度影響,如何在特定處理中,合理調(diào)配各因素以優(yōu)化模型性能是下階段研究重點(diǎn)。
圖9 不同維度上的數(shù)據(jù)量變化和tile size對R-SOLAP操作的影響Fig.9 Impact of data size changing along different dimensions and tile size on R-SOLAP
科學(xué)數(shù)據(jù)密集型計(jì)算被譽(yù)為科學(xué)發(fā)展的第四模式[19]。本文基于其典型計(jì)算模式Map-Reduce擴(kuò)展了遙感SOLAP多維分析模型,為其面臨的大數(shù)據(jù)挑戰(zhàn)提供了一種簡單高效的解決方法,并成功應(yīng)用于水利部水利信息中心旱情日常分析系統(tǒng)中。下一步將改進(jìn)試驗(yàn)方法,基于Oracle Geo-Raster構(gòu)建單機(jī)模型與本文模型測試對比,并嘗試?yán)肧hared Nothing方式優(yōu)化遙感SOLAP計(jì)算效率[20]。同時(shí),將基于該模型研究建立易用的MDX(multi dimensional expressions)查詢語言,以支持SOLAP操作和初步的數(shù)據(jù)挖掘功能。
[1] BéDARD Y,RIVEST S,PROULX M.Data Warehouses and OLAP:Concepts,Architectures and Solutions[M].Hershey:IRM Press,2007:298-319.
[2] TOMLIN C D.GIS and Cartographic Modeling[M].New York:ESRI Press,2012:2-10.
[3] GóMEZ I L,GóMEZ S,VAISMAN A.Analyzing Continuous Fields with OLAP Cubes[C]∥Proceedings of the 14th International Workshop on Data Warehousing and OLAP.Glasgow:ACM,2011:89-94.
[4] GóMEZ L,GóMEZ S,VAISMAN A.A Generic Data Model and Query Language for Spatiotemporal OLAP Cube Analysis[C]∥Proceedings of the 15th International Conference on Extending Database Technology.Berlin:ACM,2010:300-311.
[5] VAISMAN A,ZIMáNYI E.A Multidimensional Model Representing Continuous Fields in Spatial Data Warehouses[C]∥International Conference on Advances in Geographic Information Systems.Washington:ACM,2009,17:168-177.
[6] XIE Q Y,ZH ANG Z H,SIVA R.In-database Raster Analytics:Map Algebra and Parallel Processing in Oracle GeoRaster[C]∥XXII Congress of the International Society for Photogrammetry and Remote Sensing.Melbourne:[s.n.],2012:91-96.
[7] REINER B,HAHN K,H?FLING G,et al.Hierarchical Storage Support and Management for Large-Scale Multidimensional Array Database Management Systems[C]∥International Conference on Database and Expert Systems Applications.Berlin:Springer,2002:689-700.
[8] GUTIERREZ A G,BAUMANN P.Modeling Fundamental Geo-Raster Operations with Array Algebra[C]∥Proceedings of the Seventh IEEE International Conference on Data Mining Workshops.Washington:IEEE,2007:607-612.
[9] DEAN J,GHEMAWAT S.Map Reduce:Simplified Data Processing on Large Clusters[C]∥Symposium on Operating Systems Design and Implementation.San Francisco:USENIX,2004:137-150.
[10] WHITE T.Hadoop:The Definitive Guide[M].California:O’Reilly Media,2009:10-11.
[11] HEY T,TANSLEY S,TOLLE K.The Fourth Paradigm:Data-Intensive Scientific Discovery[M].Washington:Microsoft Corporation,2009:1-5.
[12] NANDI A,YU C,BOHANNON P,et al.Distributed Cube Materialization on Holistic Measures[C]∥Proceedings of the 27th IEEE International Conference on Data Engineering.Hannover:IEEE,2011:183-194.
[13] ABELLóA,F(xiàn)ERRARONS J,ROMERO O.Building Cubes with Map Reduce[C]∥Proceedings of the ACM 14th International Workshop on Data Warehousing and OLAP.Glasgow:ACM,2011:17-24.
[14] LEE S,KIM J,MOON Y,et al.Efficient Distributed Parallel Top-Down Computation of ROLAP Data Cube Using MapReduce[C]∥Proceedings of the 14th International Conference on Data Warehousing and Knowledge Discovery.Vienna:Springer,2012:168-179.
[15] GOLPAYEGANI N,HALEM M.Cloud Computing for Satellite Data Processing on High End Compute Clusters[C]∥Proceedings of IEEE International Conference on Cloud Computing.Bangalore:IEEE,2009:88-92.
[16] ERMIAS B T.Distributed Processing of Large RemoteSensing Images Using Map Reduce[M].Saarbrücken:Lap Lambert Academic Publishing,2011:45-48.
[17] MENNIS J.Multidimensional Map Algebra:Design and Implementation of a Spatio-Temporal GIS Processing Language[J].Transactions in GIS,2010,14(1):1-21.
[18] LI Denren,XIAO Zhifeng,ZHU Xinyan,et al.Research on Grid Division and Encoding of Spatial Information Multi-Grids[J].Acta Geodaetica et Cartographica Sinica,2006,35(2):52-70.(李德仁,肖志峰,朱欣焰,等.空間信息多級網(wǎng)格的劃分方法及編碼研究[J].測繪學(xué)報(bào),2006,35(2):52-70.)
[19] KOGAN F N.Application of Vegetation Index and Brightness Temperature for Drought Detection[J].Advances in Space Research,1995,11:91-100.
[20] ABOUZEID A,BAJDA-PAWLIKOWSKI K,ABADI D, et al.Hadoop DB:An Architectural Hybrid of Map Reduce and DBMS Technologies for Analytical Workloads[C]∥Proceedings of the VLDB Endowment.Lyon:VLDB Endowment,2009:922-933.
(責(zé)任編輯:陳品馨)
A Distributed Multi-dimensional SOLAP Model of Remote Sensing Data and Its Application in Drought Analysis
LI Jiyuan1,MENG Lingkui1,CAI Yang2,ZHANG Wen1,DUAN Hongwei1
1.School of Remote Sensing and Information Engineering,Wuhan University,Wuhan 430079,China;2.Water Information Centre,Ministry of Water Resources,Beijing 100053,China
SOLAP has been applied to multi-dimensional analysis of remote sensing data recently.However,its computation performance faces a considerable challenge from the large-scale dataset.A georaster cube model extended by Map-Reduce is proposed,which refers to the application of Map-Reduce(a data-intensive computing paradigm)in the OLAP field.In this model,the existing methods are modified to adapt to distributed environment based on the multi-level raster tiles.Then the multi-dimensional map algebra is introduced to decompose the SOLAP computation into multiple distributed parallel map algebra functions on tiles under the support of Map-Reduce.The drought monitoring by remote sensing data is employed as a case study to illustrate the model construction and application.The prototype is also implemented,and the performance testing shows the efficiency and scalability of this model.
SOLAP;data-intensive computing;drought monitoring
LI Jiyuan(1985—),male,PhD candidate,majors in spatial data warehouse and big data analysis.E-mail:homegis.lee@gmail.com
P237
A
1001-1595(2014)06-0627-10
水利部公益性行業(yè)科研專項(xiàng)(201001046)
2013-03-26
李繼園(1985—),男,博士生,研究方向?yàn)榭臻g數(shù)據(jù)倉庫與大數(shù)據(jù)分析。
LI Jiyuan,MENG Lingkui,CAI Yang,et al.A Distributed Multi-dimensional SOLAP Model of Remote Sensing Data and Its Application in Drought Analysis[J].Acta Geodaetica et Cartographica Sinica,2014,43(6):627-636.(李繼園,孟令奎,蔡陽,等.分布式遙感空間在線分析處理的多維分析模型及其旱情應(yīng)用[J].測繪學(xué)報(bào),2014,43(6):627-636.)
10.13485/j.cnki.11-2089.2014.0098
修回日期:2014-04-11