1.一種基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng),該系統(tǒng)用于移動通話數(shù)據(jù)的并行計算,其特征在于,該系統(tǒng)包括從底層到頂層三個層次:
索引和存儲層,其配置為在spark集群中讀取并存儲待處理的空間數(shù)據(jù)集,所述空間數(shù)據(jù)集內(nèi)存儲的空間數(shù)據(jù)為移動通話數(shù)據(jù),移動通話數(shù)據(jù)的位置信息是相應(yīng)移動通信基站的位置;根據(jù)移動通信基站的位置,得到移動通信基站覆蓋范圍的Voronoi圖;結(jié)合Z Curve Hashing分區(qū)法與基于Voronoi圖的密度分割法對所述待處理的空間數(shù)據(jù)集建立空間索引;
查詢操作層,其配置為接收API層的空間操作請求,響應(yīng)空間操作請求并將空間數(shù)據(jù)的空間操作轉(zhuǎn)化為RDD文件操作,進(jìn)而根據(jù)空間索引來實現(xiàn)對所述待處理的空間數(shù)據(jù)集中移動通話數(shù)據(jù)的空間操作,并將空間操作后的結(jié)果反饋至API層;
API層,其被配置為通過擴(kuò)展SparkSQL來提供一個類SQL API來支持規(guī)則的空間數(shù)據(jù)關(guān)系和空間數(shù)據(jù)類型,且通過空間操作接口接收輸入的空間操作請求并傳送至查詢操作層;所述API層還被配置為接收查詢操作層中對空間數(shù)據(jù)進(jìn)行空間操作后的結(jié)果并輸出。
2.如權(quán)利要求1所述的一種基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng),其特征在于,所述空間數(shù)據(jù)類型還包括用戶自定義空間數(shù)據(jù)類型。
3.如權(quán)利要求1所述的一種基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng),其特征在于,所述空間數(shù)據(jù)關(guān)系包括還包括用戶自定義空間數(shù)據(jù)關(guān)系。
4.如權(quán)利要求1所述的一種基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng),其特征在于,所述查詢操作層中的空間操作包括范圍查詢和空間連接。
5.一種如權(quán)利要求1-4任一所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,該方法用于對移動通話數(shù)據(jù)的并行計算,其特征在于,包括:
在配置有空間數(shù)據(jù)并行計算系統(tǒng)的spark集群中,讀取并存儲待處理的空間數(shù)據(jù)集,其中,空間數(shù)據(jù)集內(nèi)存儲的空間數(shù)據(jù)為移動通話數(shù)據(jù),移動通話數(shù)據(jù)的位置信息是相應(yīng)移動通信基站的位置;根據(jù)移動通信基站的位置,得到移動通信基站覆蓋范圍的Voronoi圖;結(jié)合Z Curve Hashing分區(qū)法與基于Voronoi圖的密度分割法對所述待處理的空間數(shù)據(jù)集建立空間索引;
通過擴(kuò)展SparkSQL來提供一個類SQL API來支持規(guī)則的空間數(shù)據(jù)關(guān)系和空間數(shù)據(jù)類型,且通過空間操作接口接收輸入的空間操作請求并傳送至查詢操作層;
查詢操作層接收API層的空間操作請求,響應(yīng)空間操作請求并將空間數(shù)據(jù)的空間操作轉(zhuǎn)化為RDD文件操作,進(jìn)而根據(jù)空間索引來實現(xiàn)對所述待處理的空間數(shù)據(jù)集中移動通話數(shù)據(jù)的空間操作,并將空間操作后的結(jié)果反饋至API層;
API層接收查詢操作層中對空間數(shù)據(jù)進(jìn)行空間操作后的結(jié)果并輸出。
6.如權(quán)利要求5所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,其特征在于,對所述待處理的空間數(shù)據(jù)集建立空間索引之前,還包括將待處理的空間數(shù)據(jù)集內(nèi)的移動通話數(shù)據(jù)按移動通話數(shù)據(jù)的位置信息,將移動通話數(shù)據(jù)相對應(yīng)的移動通信基站所構(gòu)成的空間區(qū)域劃分為大小不相等的網(wǎng)格單元。
7.如權(quán)利要求6所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,其特征在于,將移動通話數(shù)據(jù)相對應(yīng)的移動通信基站所構(gòu)成的空間區(qū)域劃分為大小不相等的網(wǎng)格單元之后,還包括:
采用Z Curve Hashing分區(qū)法對劃分成網(wǎng)格單元的空間數(shù)據(jù)集進(jìn)行分區(qū),得到若干子數(shù)據(jù)集;再基于Voronoi圖的密度分割法對得到的子數(shù)據(jù)集建立本地空間索引,最后構(gòu)建出待處理的空間數(shù)據(jù)集的空間索引。
8.如權(quán)利要求6所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,其特征在于,還包括:
將每個網(wǎng)格單元中的空間數(shù)據(jù)集進(jìn)一步劃分,并且使用Z order Curve函數(shù)對進(jìn)一步劃分后的網(wǎng)格進(jìn)行排序,從而使得進(jìn)一步劃分后的網(wǎng)格從二維空間映射到一維空間;
使用哈希映射算法將進(jìn)一步細(xì)劃分后的網(wǎng)格中的空間數(shù)據(jù)存儲至spark集群的slave節(jié)點(diǎn)中。
9.如權(quán)利要求6所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,其特征在于,每個網(wǎng)格單元對應(yīng)一個ID。
10.如權(quán)利要求9所述的基于spark平臺的空間數(shù)據(jù)并行計算系統(tǒng)的工作方法,其特征在于,還包括:
在查詢操作層中對空間數(shù)據(jù)進(jìn)行空間連接操作,將空間數(shù)據(jù)的空間連接操作轉(zhuǎn)化為RDD文件操作;根據(jù)網(wǎng)格單元的ID,對位于同一個節(jié)點(diǎn)上的網(wǎng)格單元內(nèi)的空間數(shù)據(jù)進(jìn)行join操作;
在join操作的過程中,比較兩個網(wǎng)格單元內(nèi)空間數(shù)據(jù)量的大小,將包含空間數(shù)據(jù)量較少的網(wǎng)格單元內(nèi)的空間數(shù)據(jù)轉(zhuǎn)移到包含空間數(shù)據(jù)量較多的網(wǎng)格單元內(nèi)。