亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spark的GNSS網(wǎng)基線向量并行化處理

        2018-10-09 03:21:04白帆孫寧
        全球定位系統(tǒng) 2018年4期
        關(guān)鍵詞:數(shù)據(jù)處理實(shí)驗(yàn)

        白帆,孫寧

        (1.92941部隊(duì),遼寧 葫蘆島125000;2.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105)

        0 引 言

        隨著CORS建立得越來越多,全球衛(wèi)星導(dǎo)航系統(tǒng)(GNSS)觀測的數(shù)據(jù)量也越來越大,因此,數(shù)據(jù)的存儲(chǔ)及計(jì)算面臨著巨大的挑戰(zhàn)[1]。由于計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,大規(guī)模海量數(shù)據(jù)的分布式存儲(chǔ)以及計(jì)算也不斷發(fā)展起來,并在現(xiàn)實(shí)社會(huì)中得到了廣泛的應(yīng)用。Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用計(jì)算引擎,Spark的出現(xiàn)改善了Hadoop反復(fù)在磁盤上進(jìn)行讀寫操作的缺陷,提高了計(jì)算大規(guī)模海量數(shù)據(jù)的計(jì)算效率?,F(xiàn)如今,已經(jīng)有很多企業(yè)引入Spark大數(shù)據(jù)集群平臺(tái)以解決計(jì)算大規(guī)模復(fù)雜數(shù)據(jù)的瓶頸。針對(duì)目前全球衛(wèi)星導(dǎo)航系統(tǒng)GNSS數(shù)據(jù)量大、計(jì)算效率低等問題,本文將Spark大數(shù)據(jù)集群引入到GNSS網(wǎng)的基線解算中,對(duì)預(yù)處理后的觀測文件進(jìn)行并行化計(jì)算和存儲(chǔ),通過實(shí)驗(yàn)驗(yàn)證了利用子網(wǎng)劃分思想結(jié)合Spark大數(shù)據(jù)集群平臺(tái)解算GNSS網(wǎng)基線向量的效率。

        1 相關(guān)平臺(tái)

        1.1 Hadoop

        Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以充分利用集群的計(jì)算優(yōu)勢(shì)進(jìn)行高速運(yùn)算和存儲(chǔ)。Hadoop最核心的設(shè)計(jì)是HDFS和MapReduce。

        HDFS為海量的數(shù)據(jù)提供了存儲(chǔ),MapReduce為海量的數(shù)據(jù)提供了計(jì)算[2]。Hadoop采用多進(jìn)程模型,如圖1所示。

        Hadoop的每個(gè)Task運(yùn)行在JVM進(jìn)程中,且Task不被復(fù)用。MapReduce不構(gòu)建可重用資源池,Task動(dòng)態(tài)申請(qǐng)資源且執(zhí)行結(jié)束后立即釋放資源。啟動(dòng)MapReduce中Task進(jìn)程的速度慢,造成了不必要的啟動(dòng)時(shí)間消耗,不適合運(yùn)行低延遲作業(yè)。

        1.2 Spark平臺(tái)

        Spark是專為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的快速通用的計(jì)算引擎,可用來構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。Spark可將中間輸出結(jié)果保存在內(nèi)存中,從而不再反復(fù)讀寫HDFS。實(shí)際上,Spark是對(duì)Hadoop的補(bǔ)充,Spark通過名為Mesos的第三方集群框架可以在Hadoop文件系統(tǒng)中并行運(yùn)行。Scala用作Spark應(yīng)用程序框架,Scala可輕松地操作分布式數(shù)據(jù)集。Spark采用多線程模型,如圖2所示。

        Spark的每個(gè)Executor運(yùn)行在JVM進(jìn)程中,Executor中可運(yùn)行多個(gè)ShuffleMapTask或ReduceTask,Task則是在Executor的一個(gè)線程中運(yùn)行,而且Task是可共享的,在Executor中加載一次文件或者數(shù)據(jù)后可一直被Task復(fù)用,直至程序執(zhí)行結(jié)束后釋放資源,避免了任務(wù)重復(fù)申請(qǐng)資源所造成的時(shí)間花費(fèi)。Spark可以建立可重用資源池來運(yùn)行全部的ShuffleMapTask和ReduceTask。Spark啟動(dòng)任務(wù)速度快,可大大降低運(yùn)行時(shí)間。

        1.3 GAMIT軟件

        GAMIT軟件是目前高精度GPS基線解算軟件中最為經(jīng)濟(jì)、使用最廣泛的一個(gè)軟件。GAMIT軟件是由美國麻省理工學(xué)院(MIT)和斯克里普斯海洋研究所(SIO)聯(lián)合研制的GPS數(shù)據(jù)處理軟件[6]。當(dāng)它采用精密星歷和高精度起算點(diǎn)時(shí),其處理長基線和連續(xù)時(shí)段靜態(tài)定位相對(duì)精度可達(dá)10e-8~10e-9 數(shù)量級(jí),處理短基線的精度可達(dá)1~3 mm.本文使用的GAMIT版本為GAMIT10.6.

        2 基于Spark的基線解算并行化處理

        2.1 利用Spark實(shí)現(xiàn)并行化計(jì)算

        Hadoop分布式文件系統(tǒng)(HDFS)是一種廣泛使用的文件系統(tǒng),而Spark支持讀寫很多種文件系統(tǒng),可以使用任何我們想要的文件格式,Spark能夠很好地使用HDFS。HDFS被設(shè)計(jì)為可以在廉價(jià)的硬件上工作,有彈性地對(duì)應(yīng)節(jié)點(diǎn)失敗,同時(shí)提供高吞吐量。Spark和HDFS可以部署在同一批機(jī)器上,這樣Spark可以利用數(shù)據(jù)分布來盡量避免一些網(wǎng)絡(luò)開銷。在Spark中使用HDFS只需要將輸入輸出路徑指定為hdfs://master:post/path.

        YARN是在Hadoop中引入的集群管理器,它可以讓多種數(shù)據(jù)處理構(gòu)架運(yùn)行在一個(gè)共享的資源池上,并且通常安裝在與Hadoop文件系統(tǒng)(簡稱HDFS)相同的物理節(jié)點(diǎn)上。在這樣配置的YARN集群上運(yùn)行Spark是很有意義的,它可以讓Spark在存儲(chǔ)數(shù)據(jù)的物理節(jié)點(diǎn)上運(yùn)行,以快速訪問HDFS中的數(shù)據(jù)?;贖DFS的觀測數(shù)據(jù)分布式文件系統(tǒng)結(jié)構(gòu)如圖3所示[4]。

        在Spark中使用YARN主要偽代碼如下所示:

        第一步,設(shè)置Hadoop配置目錄的環(huán)境變量hadoop-conf-dir。

        第二步,使用Spark-submit提交應(yīng)用作業(yè):

        exporthadoop-conf-dir=“…”;

        Spark-submit——master yarn yourapp。

        spark讀取HDFS中的文件和寫入數(shù)據(jù)到HDFS中,主要偽代碼如下所示:

        def main(args: Array[String]): Unit={

        valconf=new SparkConf()

        conf.set("spark.master", "local")

        conf.set("spark.app.name", "spark demo")

        valsc=new SparkContext(conf);

        //讀取HDFS數(shù)據(jù)

        valtextFileRdd=sc.textFile("hdfs://路徑")

        valfRdd=textFileRdd.flatMap {-.split(" ")}

        valmrdd=fRdd.map {(-, 1)}

        valrbkrdd=mrdd.reduceByKey(-+-)

        //寫入數(shù)據(jù)到HDFS系統(tǒng)

        rbkrdd.saveAsTextFile("hdfs://路徑")

        }

        2.2 基于Spark的基線解算過程

        第一步,由子網(wǎng)劃分創(chuàng)建索引文件,其中子網(wǎng)編號(hào)設(shè)置為文件名,測站點(diǎn)名設(shè)置為文件內(nèi)容,為了便于對(duì)文件內(nèi)容進(jìn)行操作,各名之間用空格相隔開。

        第二步,客戶端上傳文件至HDFS(文件包括:觀測文件、精密星歷文件、廣播星歷文件、索引文件)。

        第三步,建立GAMIT軟件執(zhí)行所需的工程文件目錄。

        第四步,解析索引文件后獲取相應(yīng)的子網(wǎng)的全部測站名,從HDFS中復(fù)制相應(yīng)文件到對(duì)應(yīng)的文件夾中。

        第五步,調(diào)用sh-setup鏈接外部表文件tables,再調(diào)用sh-gamit進(jìn)行基線解算。

        需注意的是,在此過程中,一個(gè)索引文件對(duì)應(yīng)一個(gè)子網(wǎng)進(jìn)行處理,Spark分配Shuffle Map Task執(zhí)行索引文件?;赟park進(jìn)行基線解算過程如圖4所示。

        3 實(shí)驗(yàn)結(jié)果及分析

        3.1 實(shí)驗(yàn)數(shù)據(jù)及環(huán)境

        實(shí)驗(yàn)數(shù)據(jù):采用中國及周邊地區(qū)41個(gè)IGS連續(xù)運(yùn)行跟蹤站2018年年積日第58天的30 s采樣間隔的觀測值數(shù)據(jù)文件,如圖5所示。

        實(shí)驗(yàn)環(huán)境:所有的實(shí)驗(yàn)都是在實(shí)驗(yàn)室搭建的Spark平臺(tái)上運(yùn)行的。平臺(tái)由10個(gè)節(jié)點(diǎn)組成,物理機(jī)配置為Intel Core i5處理器,主頻2.30 GHz,雙核,內(nèi)存2G.軟件配置:CentOS 6.7,JDK 1.8.0,Hadoop 2.6.0,Spark 1.6.0,Scala 2.12.1.

        3.2 實(shí)驗(yàn)結(jié)果分析

        采用劃分子網(wǎng)的思想,其中單節(jié)點(diǎn)對(duì)整網(wǎng)進(jìn)行基線解算,有幾個(gè)節(jié)點(diǎn)就劃分幾個(gè)子網(wǎng),實(shí)驗(yàn)結(jié)果如表1所示。

        表1 不同數(shù)量子網(wǎng)個(gè)數(shù)和計(jì)算節(jié)點(diǎn)數(shù)下的解算時(shí)間

        由表1可知,隨著子網(wǎng)個(gè)數(shù)和計(jì)算節(jié)點(diǎn)數(shù)的增加,運(yùn)行時(shí)間在逐步減少,這說明計(jì)算效率也在增加。Spark將大數(shù)據(jù)處理任務(wù)分為n塊并行處理,其計(jì)算能力優(yōu)勢(shì)隨著計(jì)算任務(wù)復(fù)雜程度增加而擴(kuò)大。在同樣處理41個(gè)IGS連續(xù)運(yùn)行跟蹤站數(shù)據(jù)工程中,從運(yùn)行消耗加速比來看,計(jì)算節(jié)點(diǎn)越多時(shí)間越短,計(jì)算效率越高。Spark大數(shù)據(jù)平臺(tái)會(huì)比Hadoop速度提高約20倍[4],但實(shí)際中因環(huán)境及應(yīng)用的不同等原因理論速度通常無法達(dá)到,因此,需要做到盡可能合理地分配計(jì)算資源,使效率最大化。

        4 結(jié)束語

        本文針對(duì)傳統(tǒng)的單機(jī)方法無法應(yīng)對(duì)現(xiàn)今對(duì)大規(guī)模復(fù)雜的GNSS觀測數(shù)據(jù)的處理需求,利用Spark大數(shù)據(jù)平臺(tái)和子網(wǎng)劃分思想實(shí)現(xiàn)了基于Spark的基線解算過程的分布式處理,大大提高了計(jì)算的效率??梢栽趯?shí)際工程中合理有效地分配計(jì)算資源,在保證解算精度的前提下,降低執(zhí)行時(shí)間,提高對(duì)海量GNSS數(shù)據(jù)處理能力。

        猜你喜歡
        數(shù)據(jù)處理實(shí)驗(yàn)
        記一次有趣的實(shí)驗(yàn)
        認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
        微型實(shí)驗(yàn)里看“燃燒”
        ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
        做個(gè)怪怪長實(shí)驗(yàn)
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        MATLAB在化學(xué)工程與工藝實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用
        基于POS AV610與PPP的車輛導(dǎo)航數(shù)據(jù)處理
        乱码窝窝久久国产无人精品| 亚洲中文字幕日产喷水| 亚洲高清av一区二区| 久久久久久久综合日本| 国产桃色精品网站| 国产91在线播放九色快色| 国产爆乳美女娇喘呻吟| 中文亚洲成a人片在线观看| 一区二区三区内射视频在线观看| 日韩亚洲在线一区二区| 超碰国产精品久久国产精品99| 国产高清一区二区三区视频| 亚洲av无码av吞精久久| 521色香蕉网站在线观看| 成人午夜免费福利| 中文字幕亚洲精品一二三区 | 亚洲午夜狼人综合影院| 久久久久人妻精品一区三寸| 国产婷婷色综合av蜜臀av| 欧美日本国产三级在线| 国产一区二区三区经典| 国产精品女直播一区二区| 欧美在线 | 亚洲| 国产肉体XXXX裸体784大胆| 麻美由真中文字幕人妻| 色熟妇人妻久久中文字幕| 我把护士日出水了视频90分钟 | 帮老师解开蕾丝奶罩吸乳视频 | 国产理论亚洲天堂av| 天天做天天摸天天爽天天爱 | 亚洲精品国产一二三无码AV| 人人妻人人澡av| 亚洲不卡在线免费视频| 国产freesexvideos中国麻豆| 野花社区www高清视频| 亚洲mv国产精品mv日本mv| 伊人久久综合狼伊人久久| 亚洲av无码无线在线观看| 无码专区天天躁天天躁在线| 少妇av免费在线播放| 亚洲天堂av在线网站|