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

        ?

        水環(huán)境模型與大數(shù)據(jù)技術(shù)融合研究

        2021-11-22 02:01:04馬金鋒饒凱鋒李若男張京鄭華
        大數(shù)據(jù) 2021年6期
        關(guān)鍵詞:框架融合環(huán)境

        馬金鋒,饒凱鋒,李若男,2,張京,鄭華,2

        1.中國科學(xué)院生態(tài)環(huán)境研究中心城市與區(qū)域生態(tài)國家重點實驗室,北京 100085;2.中國科學(xué)院大學(xué),北京 100049

        1 引言

        模型是集成和綜合不同觀測數(shù)據(jù)、理解復(fù)雜的交互作用和測試假設(shè),以及模擬歷史、預(yù)測未來系統(tǒng)發(fā)展軌跡和決策如何應(yīng)對未來趨勢的重要工具[1]。根據(jù)產(chǎn)生的來源,模型大體可被分為數(shù)據(jù)驅(qū)動和模型驅(qū)動兩類,數(shù)據(jù)驅(qū)動模型(機理模型)基于關(guān)聯(lián)關(guān)系構(gòu)建,模型驅(qū)動模型(機理模型)基于因果關(guān)系構(gòu)建。數(shù)據(jù)驅(qū)動模型是大數(shù)據(jù)價值體現(xiàn)鏈條中的重要環(huán)節(jié),大數(shù)據(jù)的核心價值在于尋求或構(gòu)建合適的模型,利用模型表達事物內(nèi)在變化規(guī)律的過程。在大數(shù)據(jù)的原生定義中,基于事物之間的關(guān)聯(lián)關(guān)系尋求和構(gòu)建模型,模型構(gòu)建的成敗十分依賴數(shù)據(jù)的數(shù)量和質(zhì)量。此外,由于數(shù)據(jù)驅(qū)動模型是基于關(guān)聯(lián)關(guān)系構(gòu)建的,其模擬結(jié)果無法給予合理解釋,導(dǎo)致其認可度不高,因此數(shù)據(jù)驅(qū)動模型通常也被稱為“黑箱模型”[2]。目前在水環(huán)境領(lǐng)域中,由于可用數(shù)據(jù)數(shù)量少、數(shù)據(jù)質(zhì)量低等原因,基于大數(shù)據(jù)技術(shù)成功構(gòu)建的數(shù)據(jù)驅(qū)動模型案例并不多,總體上處于探索和發(fā)展階段。相比數(shù)據(jù)驅(qū)動模型,水環(huán)境領(lǐng)域中的機理模型相對成熟和完善,得到廣泛的推廣和應(yīng)用。然而,在大數(shù)據(jù)環(huán)境下,如何從新的視角審視已成熟的機理模型,探索其在大數(shù)據(jù)技術(shù)背景下的價值發(fā)揮是一個值得探討的熱點問題。

        顧名思義,機理模型從因果關(guān)系出發(fā)尋找規(guī)律,是真實水環(huán)境系統(tǒng)的抽象和概化。水環(huán)境機理模型是對水體中污染物隨空間和時間遷移的轉(zhuǎn)化規(guī)律的描述,是一個描述物質(zhì)在水環(huán)境中的混合、遷移過程的數(shù)學(xué)方程,即描述水體中污染物與時間、空間的定量關(guān)系[3]?;谖⒎址匠痰乃h(huán)境機理模型在過去的數(shù)十年間取得了極大發(fā)展,已經(jīng)成為水資源及環(huán)境管理決策的有力工具。相對于數(shù)據(jù)驅(qū)動模型而言,機理模型除了具備模擬結(jié)果可解釋、廣泛認同和成熟應(yīng)用的特點,還可以通過開源或者商業(yè)的方式獲取,即模型的可獲得性,這是機理模型區(qū)別于數(shù)據(jù)驅(qū)動模型的一個明顯特點。數(shù)據(jù)驅(qū)動模型需要耗費大量計算資源來訓(xùn)練和構(gòu)建,其核心在于如何創(chuàng)建模型;機理模型經(jīng)過幾十年的發(fā)展,已相對成熟和完善,其核心在于如何應(yīng)用模型。相對于數(shù)據(jù)驅(qū)動模型而言,機理模型的可獲得性、模擬結(jié)果的可解釋性、科學(xué)界廣泛的認同和實際中已有的成熟應(yīng)用等特點共同決定了深度挖掘機理模型的應(yīng)用潛力和充分發(fā)揮其應(yīng)用價值是未來研究的重點方向。

        在實際應(yīng)用過程中,機理模型普遍面臨大規(guī)模情景運算、模擬結(jié)果海量存儲和高效分析的難題,這極大地限制了模型的推廣和應(yīng)用,因此,迫切需要探索新的技術(shù)和方法來解決這些難題。大數(shù)據(jù)技術(shù)在解決上述難題方面具有潛在優(yōu)勢,研究水環(huán)境模型融合大數(shù)據(jù)技術(shù)能否解決和如何解決上述難題是目前面臨的一個挑戰(zhàn)。本文以水環(huán)境模型為例,分析了該模型在實際應(yīng)用中面臨的瓶頸;針對這些瓶頸,分別從規(guī)模計算、規(guī)模存儲和應(yīng)用分析3個角度,提出了大數(shù)據(jù)技術(shù)與機理模型融合的技術(shù)思路,闡述了水環(huán)境模型與大數(shù)據(jù)技術(shù)融合的實現(xiàn)流程,以SWAT(soil and water assessment tool)模型率定為應(yīng)用案例證明了框架的可行性;最后討論了水環(huán)境模型在大數(shù)據(jù)背景下未來的研究方向。

        2 水環(huán)境模型應(yīng)用過程中面臨的瓶頸

        眾所周知,基礎(chǔ)數(shù)據(jù)難以獲取以及模型率定、模型驗證和場景分析中的高負荷計算是限制模型成功應(yīng)用的主要瓶頸,如圖1所示。水環(huán)境模型構(gòu)建要求有足夠的基礎(chǔ)數(shù)據(jù)用于建模、校準和驗證?;A(chǔ)數(shù)據(jù)(如地形、風(fēng)速、外部污染負荷、流入、流出和開邊界條件等)主要作為模型輸入,也可為校準模型參數(shù)提供依據(jù),評估模型是否能充分描述水體特點。模型需要的數(shù)據(jù)應(yīng)盡量準確,數(shù)據(jù)的局限性會限制模型的應(yīng)用,數(shù)據(jù)的質(zhì)量和數(shù)量在很大程度上決定了模型應(yīng)用的質(zhì)量。實際上,能夠獲取的數(shù)據(jù)往往很少,精準的長期監(jiān)測是解決數(shù)據(jù)匱乏的主要途徑。此外,理論和經(jīng)驗方法也經(jīng)常用于彌補數(shù)據(jù)的欠缺[4]。

        圖1 水環(huán)境模型應(yīng)用過程中面臨的瓶頸及潛在解決方案

        模型的核心價值在于對現(xiàn)實世界歷史的重現(xiàn)、對未來的預(yù)測和對未來優(yōu)化決策的響應(yīng)。模型的率定反映了對歷史的還原能力。由于水環(huán)境數(shù)值模型是對真實水環(huán)境系統(tǒng)的抽象和概化,模型的參數(shù)、輸入數(shù)據(jù)和模型結(jié)構(gòu)均存在不確定性。為了更加客觀地反映自然水體中的一系列生化、生物反應(yīng)過程,基于機理的數(shù)值模型在開發(fā)過程中不可避免地會引入大量參數(shù)。受監(jiān)測資料和對復(fù)雜生態(tài)過程認知的限制,模型參數(shù)的率定往往存在較大困難,使得模型率定成為一個長期的研究方向[5-6]。與此同時,大量的應(yīng)用不斷促進水環(huán)境模型的發(fā)展,模型變得日益復(fù)雜,需要考慮和包含更多的反應(yīng)過程,增大了模型率定的難度。模型率定是一個嚴重依賴高性能計算的迭代過程,不同參數(shù)組合需要執(zhí)行不同的獨立計算。為了對所有參數(shù)組合場景進行統(tǒng)一分析處理,需要對所有獨立計算的結(jié)果進行統(tǒng)一存儲和分析。參數(shù)率定、模型驗證以及情景分析等都依賴于大規(guī)模計算的支持[7]。在目前的實際應(yīng)用過程中,由于計算規(guī)模大,單機多處理器模式和集群并行系統(tǒng)[8]并不能滿足上述需求,因此需要探索新的應(yīng)用模式。大數(shù)據(jù)技術(shù)在支撐規(guī)模運算、海量存儲和高效分析方面具有顯著優(yōu)勢,有望解決上述模型應(yīng)用中面臨的困境。

        3 水環(huán)境模型與大數(shù)據(jù)技術(shù)融合框架

        水環(huán)境模型與大數(shù)據(jù)技術(shù)融合體現(xiàn)在分布式計算、存儲和分析3個方面,如圖2所示。針對分布式計算,機理模型與大數(shù)據(jù)融合體現(xiàn)在模型如何適應(yīng)分布式并行計算以實現(xiàn)高性能計算。谷歌公司在2004年公開的MapReduce分布式并行計算技術(shù)是新型分布式計算技術(shù)的代表。典型的MapReduce系統(tǒng)由廉價的通用服務(wù)器構(gòu)成,通過添加服務(wù)器節(jié)點可線性擴展系統(tǒng)的總處理能力,在成本和可擴展性上都有巨大的優(yōu)勢。造成大數(shù)據(jù)挖掘革命的技術(shù)之一是Hadoop平臺上的MapReduce編程模型,其用于在對硬件要求不太高的通用硬件計算機上構(gòu)建大型集群,從而運行應(yīng)用程序[9]。除了MapReduce,還有其他分布式計算框架,比如內(nèi)存迭代計算框架Spark和流式計算框架Storm等。MapReduce屬于離線式批量計算框架,鑒于數(shù)值模型具有CPU密集型計算的特點,該模型適合采用MapReduce框架。對于計算結(jié)果的交互式查詢分析,則適合采用Spark框架[8]。大數(shù)據(jù)計算框架與機理模型融合的核心在于將批量模型算例文件分發(fā)到計算節(jié)點,模型計算程序定位算例文件所在節(jié)點,啟動計算程序執(zhí)行計算。

        圖2 水環(huán)境模型與大數(shù)據(jù)技術(shù)融合框架

        針對模型模擬結(jié)果海量存儲,機理模型與大數(shù)據(jù)融合體現(xiàn)在模型結(jié)果(包括原始結(jié)果和解析結(jié)果)如何實現(xiàn)高效持久化存儲。在存儲方面,2006年谷歌提出的文件系統(tǒng)GFS以及隨后的Hadoop分布式文件系統(tǒng)(Hadoop distributed file system,HDFS)奠定了大數(shù)據(jù)存儲技術(shù)的基礎(chǔ)。與傳統(tǒng)存儲系統(tǒng)相比,GFS和HDFS將計算和存儲節(jié)點在物理上結(jié)合在一起,從而避免在數(shù)據(jù)密集計算中易形成的I/O吞吐量的制約。同時這類分布式存儲系統(tǒng)的文件系統(tǒng)也采用了分布式架構(gòu),可以達到較高的并發(fā)訪問能力。GFS和HDFS屬于底層的文件存儲模式,為了支持非結(jié)構(gòu)化數(shù)據(jù)存儲,BigTable和HBase誕生了。其中,HBase是一個針對結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動態(tài)模式數(shù)據(jù)庫。和傳統(tǒng)關(guān)系數(shù)據(jù)庫不同,HBase采用BigTable的數(shù)據(jù)模型,即增強的稀疏排序映射表(key/value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時間戳構(gòu)成。HBase提供了對大規(guī)模數(shù)據(jù)的隨機、實時讀寫訪問,同時可以使用MapReduce來處理其保存的數(shù)據(jù),它將數(shù)據(jù)存儲和并行計算完美地結(jié)合在一起[10]。也就是說,HDFS為HBase提供了高可靠性的底層存儲支持,MapReduce為HBase提供了高性能的計算能力。除了HBase,還有其他存儲框架,比如ElasticSearch、Cassandra、Redis、MongDB等。MapReduce和HBase都是Hadoop生態(tài)系統(tǒng)的核心組件,各組件間密切結(jié)合的設(shè)計原理的一大優(yōu)點是能夠構(gòu)建出無縫整合的不同處理模型的應(yīng)用[11]。鑒于此,適合采用HBase存儲模擬結(jié)果解析后的結(jié)構(gòu)化數(shù)據(jù)(記錄集)和非結(jié)構(gòu)化數(shù)據(jù)(圖片集)。大數(shù)據(jù)存儲框架與機理模型融合的核心在于將分布于各個計算節(jié)點的模型計算原始結(jié)果文件和解析后的數(shù)據(jù)記錄并發(fā)寫入持久化存儲設(shè)備。

        針對模型模擬結(jié)果挖掘分析,機理模型與大數(shù)據(jù)融合體現(xiàn)在對模型結(jié)果的快速提取及挖掘分析。在數(shù)據(jù)分析方面,首先要求數(shù)據(jù)處理速度足夠快,速度快意味著可以滿足交互式查詢的需求;其次,要求剝離對集群本身的關(guān)注,不需要關(guān)注如何在分布式系統(tǒng)上編程,也不需要過多關(guān)注網(wǎng)絡(luò)通信和程序容錯性,只需要專注于滿足不同應(yīng)用場景下的需求;最后,要求支持通用的交互式查詢、機器學(xué)習(xí)、圖計算等不同運算,且能通過一個統(tǒng)一的框架支持這些計算,從而簡單、低耗地把各種處理流程整合在一起,這樣的組合在實際的數(shù)據(jù)分析過程中很有意義,減輕了對各種分析平臺分別管理的負擔。Spark是滿足上述需求的一個快速大數(shù)據(jù)分析框架。Spark于2009年誕生于加州大學(xué)伯克利分校RAD實驗室,其一開始就是為交互式查詢和迭代算法設(shè)計的,同時支持內(nèi)存式存儲和高效的容錯機制。Spark支持在內(nèi)存中進行計算,因而具有快速的處理速度,支持交互式查詢。Spark包含多個緊密集成的組件,比如Core(任務(wù)調(diào)度、內(nèi)存管理、錯誤恢復(fù)、存儲交互)、SQL(操作結(jié)構(gòu)化數(shù)據(jù))、Streaming(實時計算)、MLib(機器學(xué)習(xí)算法庫)、GraphX(圖計算庫)等,各組件間密切結(jié)合,支持各種各樣的應(yīng)用需求。和HBase一樣,Spark也是Hadoop生態(tài)系統(tǒng)中的核心組件之一。鑒于此,適合采用Spark框架對模擬結(jié)果進行進一步分析,典型應(yīng)用功能包括交互式查詢、模型參數(shù)敏感性分析、模型率定、模型驗證、模型預(yù)測和應(yīng)用決策。大數(shù)據(jù)分析框架與機理模型融合的核心在于快速提取分布于多個存儲節(jié)點上的模擬結(jié)果,組織成物理上分散、邏輯上統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù)格式,依托已有算法庫進行數(shù)據(jù)分析。

        4 水環(huán)境模型與大數(shù)據(jù)技術(shù)融合的技術(shù)思路

        下面分別從水環(huán)境模型的規(guī)模計算、規(guī)模存儲和應(yīng)用分析角度,闡述實現(xiàn)融合框架的技術(shù)思路,具體如圖3所示。

        圖3 水環(huán)境模型與大數(shù)據(jù)技術(shù)融合的技術(shù)思路

        4.1 水環(huán)境模型的規(guī)模計算

        參考文獻[9]最早采用Hadoop1.0開展水環(huán)境模型和大數(shù)據(jù)計算框架融合的研究,通過將SWAT模型率定和不確定性分析中的規(guī)模運算分解到map和reduce過程,為解決水文建模中的計算需求問題提供了一種有效方法。受此啟發(fā),參考文獻[8]等提出一種僅使用map過程的改進方法,基于Hadoop2.0實現(xiàn)水動力水質(zhì)模型Delft3D的集群運算架構(gòu)。該架構(gòu)不使用shuffle過程,提高了計算運行效率,為解決水環(huán)境模擬規(guī)模計算問題提供了新的視角。上述兩者指明了在統(tǒng)一平臺內(nèi)耦合數(shù)值模型和計算框架的方法,即MapReduce模式下,模型作為第三方可執(zhí)行程序被批量調(diào)用,map負責分布式計算,reduce負責匯總結(jié)果。

        水環(huán)境模型具有其內(nèi)在特點:一方面,包括流域分布式水文模型SWAT和三維水動力水質(zhì)模型Delft3D在內(nèi)的水環(huán)境數(shù)值模擬模型等,通常屬于CPU密集型計算,運行時間范圍為幾分鐘到幾小時,甚至到幾天。這和MapReduce的設(shè)計目標相符[12];另一方面,成熟的機理模型通?;诜?wù)于科學(xué)計算的FORTRAN語言編寫,大數(shù)據(jù)計算框架往往基于Java語言編寫,兩套語言混合編程需要付出極大的開發(fā)成本,在實踐中應(yīng)該發(fā)揮各自語言的特色,控制或降低融合成本。綜上所述,機理模型與大數(shù)據(jù)計算框架融合的思路是將機理模型作為獨立的第三方可執(zhí)行程序被計算框架調(diào)用,所有計算任務(wù)之間相互獨立,不發(fā)生交互。

        從實現(xiàn)角度,為了提高模型計算速度,通常需要保障獨立的計算核和足夠的內(nèi)存。不論是Hadoop1.x中的JobTracker還是Hadoop2.x中的MRAppMaster都有整體計算資源的管理機制,都可根據(jù)應(yīng)用需求動態(tài)調(diào)配內(nèi)存和計算核。目前,YARN被證明是一個有效的資源管理工具,而且和MapReduce一樣同屬Hadoop生態(tài)圈,這方便了模型計算資源的調(diào)配。完成資源調(diào)配后,進入模型運行環(huán)節(jié),這是模型和計算框架融合的核心,此環(huán)節(jié)主要包括模型啟動、狀態(tài)追蹤以及管理交互(暫停、繼續(xù)、中止和重啟等)。典型的Hadoop集群通常運行在Linux操作系統(tǒng)下,因此,模型引擎首先需要在Linux操作系統(tǒng)下編譯才能被使用;其次,模型在運行之前,需在集群中能夠被獲?。蛔詈?,在本地節(jié)點中模型被調(diào)用進而觸發(fā)執(zhí)行過程。

        本質(zhì)上,模型作為第三方程序,通常不能將執(zhí)行狀況告知節(jié)點,因此需要構(gòu)建一套反饋機制以發(fā)送狀態(tài)給用戶。詳細的狀態(tài)信息應(yīng)該包括兩部分,即模型自身運行狀態(tài)和任務(wù)運行狀態(tài),用戶獲取到這些信息后會決定是否干預(yù)運行狀態(tài)。

        綜上所述,模型和大數(shù)據(jù)計算框架融合的核心在于發(fā)揮計算框架的優(yōu)勢,為模型的規(guī)模計算提供一種理想的方法。在具體的融合過程中,首先,依賴計算框架的資源調(diào)配機制,確保滿足模型對計算資源的需求;其次,依賴計算框架的編程模型,確保批量計算數(shù)據(jù)被分發(fā),計算程序在分布式節(jié)點上可獲取、可調(diào)用和狀態(tài)可追蹤。

        4.2 水環(huán)境模型模擬結(jié)果規(guī)模存儲

        數(shù)據(jù)的持久化是一個非常重要的過程,存儲結(jié)構(gòu)的設(shè)計決定了后續(xù)數(shù)據(jù)處理和分析的效率。當模型計算完成時,模擬結(jié)果存儲過程隨之啟動。為了實現(xiàn)高效持久化,結(jié)果文件一般以二進制格式存儲。不同的模型有不同的存儲格式,比如Delft3D的NEFIS格式、MIKE的dfs2格式等,因此需要不同的解析方法,以便提取重點關(guān)注的信息并將其寫入存儲介質(zhì)。一般來說,模型說明文檔提供了相應(yīng)的文件結(jié)構(gòu)。根據(jù)此結(jié)構(gòu),可以設(shè)計合適的存儲結(jié)構(gòu)。文件和數(shù)據(jù)庫是兩種比較常見的存儲模式。由于計算會耗費大量時間,原始結(jié)果文件顯得彌足珍貴,采用分布式文件存儲系統(tǒng)來存儲原始結(jié)果文件成為一種合理選擇。HDFS內(nèi)置的可擴展、冗余、容錯機制確保了原始數(shù)據(jù)的可靠性和高可用性,使其成為一種較佳的選擇。其他選擇還有使用同樣廣泛的FastDFS,具體采用哪種存儲系統(tǒng),需要結(jié)合計算框架和分析框架,從能否無縫結(jié)合的角度進行綜合考慮。

        通常情況下,原始結(jié)果文件不能被直接使用,實際應(yīng)用中需要借助專業(yè)的后處理工具。結(jié)構(gòu)化的表結(jié)構(gòu)是廣泛應(yīng)用的一種形式。因此,通常需要將原始結(jié)果集進行解析和提取,形成結(jié)構(gòu)化數(shù)據(jù)集。根據(jù)水環(huán)境管理領(lǐng)域特點,這種結(jié)構(gòu)化數(shù)據(jù)集是一種典型的時間序列數(shù)據(jù)集。因此,在存儲階段,除了需要關(guān)注規(guī)?;牟⑿袑懭?,還要兼顧數(shù)據(jù)本身的時間序列特點。分布式列式數(shù)據(jù)庫在海量數(shù)據(jù)并行寫入方面具有優(yōu)勢,但是考慮到數(shù)據(jù)本身的時間特性,時間序列數(shù)據(jù)庫是一個合適的選擇,而且其存儲框架和計算框架還能屬于同一個生態(tài)系統(tǒng)。不幸的是,在Hadoop生態(tài)系統(tǒng)中,在存儲方面除了擴展HBase的OpenTSDB,沒有單獨提供時間序列數(shù)據(jù)庫。即使OpenTSDB提供對時間序列存儲的支持,通過對HBase的存儲模式和行鍵同時進行優(yōu)化設(shè)計,也能夠獲得優(yōu)于OpenTSDB的讀寫性能。此外,其他選擇還有InfluxDB、RRDtool、Graphite和ElasticSearch等數(shù)據(jù)庫。因此,對于模擬結(jié)果存儲,有很多的選擇。盡管如此,不論采用何種數(shù)據(jù)庫,都需要慎重考慮存儲結(jié)構(gòu)設(shè)計和主鍵設(shè)計,二者共同決定了后文中應(yīng)用分析的效率。

        綜上所述,模型和大數(shù)據(jù)存儲框架融合的核心在于選擇合適的模型計算結(jié)果持久化框架。在具體融合過程中,持久化存儲需要兼顧原始結(jié)果和解析記錄兩種不同格式。首先,需要判斷位于多個計算節(jié)點上的計算程序是否運行結(jié)束;其次,節(jié)點上的計算完成后,在本地節(jié)點上連接并寫入存儲框架,實現(xiàn)多節(jié)點并發(fā)存儲。

        4.3 水環(huán)境模型模擬結(jié)果應(yīng)用分析

        模型結(jié)果分析依賴兩部分:結(jié)果集的獲取、基于數(shù)據(jù)之上的算法以及交互模式。在上述模型與存儲融合中,數(shù)據(jù)以分布式文件和數(shù)據(jù)庫的形式存儲,推薦采用的數(shù)據(jù)庫分別是HDFS和HBase。對于HDFS,Hadoop提供了客戶端FileSystem對象,該對象提供了類似操作本地文件的方法,可以將整個HDFS視作一塊大硬盤來處理。借助FileSystem,可以將HDFS中存儲的原始結(jié)果文件和解析后制圖渲染出的批量制圖文件下載到本地,其中,批量制圖文件可以直接使用,原始文件則需要進一步讀取和深入分析處理。對于分布式文件的處理,MapReduce通常被認為是一個最佳選擇。MapReduce擅長批量的順序處理,但是不支持隨機查詢。為此,需要一種支持隨機查詢的框架。對于HBase中存儲的記錄集,采用主流的Spark計算框架進行分析成為適宜的選擇。利用其內(nèi)置的HBase-Spark接口,可以在HBase中進行交互式數(shù)據(jù)檢索,并將檢索結(jié)果轉(zhuǎn)化為易于操作的DataFrame格式。DataFrame派生于彈性分布式數(shù)據(jù)集(resilient distributed dataset,RDD),RDD是Spark SQL模塊中最核心的編程抽象,可以被理解為以列的形式組織的分布式數(shù)據(jù)集合,它類似于關(guān)系型數(shù)據(jù)庫中的表,但在底層實現(xiàn)優(yōu)化并提供了一些抽象的操作來支持SQL。與此同時,Spark內(nèi)部支持隨機查詢,這也為HDFS原始文件處理提供了支撐[13]。

        RDD結(jié)構(gòu)充分凸顯了分布式數(shù)據(jù)處理的優(yōu)勢。RDD是邏輯集中的實體,在集群中的多臺機器上進行了數(shù)據(jù)分區(qū)。通過對多臺機器上不同RDD分區(qū)的控制,可以減少機器之間的數(shù)據(jù)重排。RDD是Spark的核心數(shù)據(jù)結(jié)構(gòu),具有豐富的算子以支持復(fù)雜分析,使用Spark集群的計算資源。在不影響HBase集群穩(wěn)定性的情況下,可以通過并發(fā)分析的方式提高Spark的性能。RDD支持兩種操作,轉(zhuǎn)換操作用于將一個RDD轉(zhuǎn)換生成另一個RDD,行動操作則觸發(fā)Spark提交作業(yè),并將數(shù)據(jù)輸出到Spark系統(tǒng)?;赗DD構(gòu)成了Spark的四大組件,SQL用于處理結(jié)構(gòu)化數(shù)據(jù),Streaming用于處理流數(shù)據(jù),MLlib用于機器學(xué)習(xí),GraphX用于圖計算。因此,Spark提供了用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎,原始的結(jié)果文件和HBase中的解析結(jié)果集可以轉(zhuǎn)換為Spark的RDD,充分利用Spark生態(tài)系統(tǒng)實現(xiàn)算法高效處理分析。

        交互和可視化在知識發(fā)現(xiàn)中非常重要。Spark生態(tài)系統(tǒng)中提供Shell和Submit兩種客戶端來支持交互,但是缺乏支持可視化分析的組件。對此,Hadoop生態(tài)系統(tǒng)中的Zeppelin組件同時被賦予交互和可視化能力,Zeppelin是一個可以進行大數(shù)據(jù)可視化分析的交互式開發(fā)系統(tǒng),可以承擔數(shù)據(jù)接入、數(shù)據(jù)發(fā)現(xiàn)、數(shù)據(jù)分析、數(shù)據(jù)可視化、數(shù)據(jù)協(xié)作等任務(wù)。Zeppelin前端提供豐富的可視化圖形庫,后端支持HBase、Flink等大數(shù)據(jù)系統(tǒng),并支持Spark、Python、Java數(shù)據(jù)庫連接(Java database connectivity,JDBC)、Markdown、Shell等常用解釋器,這使得開發(fā)者和研究者可以方便地在Zeppelin環(huán)境中進行數(shù)據(jù)分析。Zeppelin原生支持Spark解釋器,使得其成為一個合適的數(shù)據(jù)分析及可視化工具。

        綜上所述,模型和大數(shù)據(jù)分析框架融合的核心在于選擇合適的交互式分析框架,該框架支持數(shù)據(jù)快速獲取、高效組織、交互式和可視化分析。具體融合流程分為3步:首先,借助交互式可視化工具,探索隱藏在數(shù)據(jù)中的規(guī)律,形成專業(yè)應(yīng)用功能;其次,梳理上述交互式探索的流程,采用程序語言將處理流程封裝為算法軟件包;最后將算法軟件包集成到分布式計算框架中,用于服務(wù)具體業(yè)務(wù)的應(yīng)用需求。

        5 水環(huán)境模型與大數(shù)據(jù)技術(shù)融合案例

        為了證實機理模型與大數(shù)據(jù)技術(shù)融合的可行性,以江西省梅江流域SWAT模型率定為例,描述水環(huán)境機理模型與大數(shù)據(jù)技術(shù)融合的具體實現(xiàn)流程。限于篇幅,本文僅給出融合過程中關(guān)鍵技術(shù)的實現(xiàn)流程。具體SWAT空間建模細節(jié)可參考參考文獻[14]。

        5.1 SWAT模型空間建模

        SWAT是一種半分布式模型,已被廣泛用于水文和環(huán)境建模。SWAT已開放源代碼軟件,其中的許多數(shù)據(jù)庫、文檔和出版物可供公眾使用,因此備受關(guān)注。此外,SWAT還提供了幾種軟件產(chǎn)品(如ArcSWAT、QSWAT),可以提供友好的用戶界面,并以直觀、信息豐富的地圖形式顯示結(jié)果。如圖4所示, SWAT的輸入數(shù)據(jù)包括數(shù)字高程模型(digital elevation model,DEM)、河道、土地利用和土壤數(shù)據(jù)。

        圖4 SWAT模型空間建模流程

        構(gòu)建SWAT模型的流程如下:

        ● 將河道的線狀幾何信息加載到DEM;

        ● 對DEM進行預(yù)處理,并指定最小子流域面積;

        ● 核對并編輯河道上的點狀要素,選擇和定義流域出水口;

        ● 完成流域劃分;

        ● 根據(jù)土地利用、土壤數(shù)據(jù)和坡度數(shù)據(jù)對研究區(qū)域進行分類,以確定每個子匯水區(qū)的水文響應(yīng)單元(hydrological response unit,HRU);

        ● 將所有天氣數(shù)據(jù)作為時間序列表輸入模型;

        ● 基于坡度、土地利用、土壤數(shù)據(jù)和天氣條件估算模型參數(shù);

        ● 對SWAT模型進行校準和驗證,在模型運行過程中,最好設(shè)置一個預(yù)熱期以避免初始化錯誤。

        5.2 SWAT模型與大數(shù)據(jù)技術(shù)框架融合

        與傳統(tǒng)并行計算模式不同,基于大數(shù)據(jù)技術(shù)中的分布式并行計算框架實現(xiàn)的集群運算模式屬于多算例多任務(wù)分解模式,即每一個算例對應(yīng)一個SWAT模型運行,這種模式適合大批量模型計算。通過位 置感知將計算移動到數(shù)據(jù)所在的存儲位置是一個重大的進步[15],即通過“數(shù)據(jù)本地化”可減少數(shù)據(jù)遷移,從而節(jié)約網(wǎng)絡(luò)帶寬,獲得高效的計算性能。分布式存儲將SWAT模擬結(jié)果分散存儲到多個節(jié)點,并且同一份數(shù)據(jù)在不同節(jié)點上保存多個副本,兼顧實現(xiàn)數(shù)據(jù)本地化和冗余備份,保障了數(shù)據(jù)的安全性。分布式計算則通過位置感知將SWAT模型的可執(zhí)行程序分發(fā)到案例配置文件所在位置,達到“計算本地化優(yōu)化”的目標。

        SWAT模型在Hadoop平臺下的集群運算模式如圖5所示。配置文件的分布式存儲冗余備份機制縮短了計算程序的尋址感知時間。SWAT模型的分布式計算包括位置感知、本地化計算和計算結(jié)果存儲3個過程。分布式分發(fā)機制可以快速定位配置文件所在的計算節(jié)點,自動下載SWAT模型執(zhí)行文件到計算節(jié)點,并創(chuàng)建運行空間,啟動模型讀取配置文件,執(zhí)行模型本地化計算,最后將SWAT模擬結(jié)果寫入分布式存儲。

        圖5 SWAT模型在Hadoop平臺下的集群運算模式

        5.3 案例研究:SWAT模型自動率定

        本案例采用貝葉斯優(yōu)化(Bayesian optimization,BO)算法對SWAT模型進行參數(shù)估值,其率定流程如圖6所示。復(fù)雜水質(zhì)模型包含大量參數(shù),但通常只有少數(shù)參數(shù)會影響模型的輸出[16]。鑒于對不重要或者不敏感的參數(shù)進行估值會導(dǎo)致模型的過度參數(shù)化,從而大大降低參數(shù)估值的效率[17-18],在進行參數(shù)估值之前需要進行敏感參數(shù)選擇。本案例采用Morris敏感性分析方法,對選擇的重要參數(shù)進行敏感性排序,并篩選出敏感參數(shù);然后,采用貝葉斯優(yōu)化算法對篩選出的參數(shù)進行估值;最后,通過分析參數(shù)估值方法的優(yōu)化效率和水質(zhì)模型的擬合效果,對方法的適用性進行評估。

        圖6 SWAT模型自動率定流程

        Morris敏感性分析法是由Morris于1991年提出,后經(jīng)過改進的一種全局敏感性分析方法[19]。該方法適用于分析參數(shù)眾多且運算量較大的模型,被廣泛應(yīng)用于因子固定(factor fixing)和敏感性分析中。該方法的優(yōu)點是以較低的計算成本獲得模型參數(shù)的敏感性相對大小,并對模型參數(shù)的敏感性大小進行排序[20]?;诟咚惯^程的貝葉斯優(yōu)化算法具有收斂速度快、優(yōu)化迭代次數(shù)少的特點,適用于解決評估代價高昂的環(huán)境模型的自動參數(shù)率定問題。納什效率系數(shù)(Nash-Sutcliffe efficiency coefficient,NSE)被當作目標函數(shù)進行水文參數(shù)敏感性及收斂性分析,從而定性分析度量方式的影響。NSE是最常用的模型評價指標之一[21-22],表示模型擬合方差占總方差的百分比[23]。

        5.4 結(jié)果

        SWAT模型參數(shù)選擇及其范圍是根據(jù)以往的研究確定的,選用參考文獻[24]中推薦的27個參數(shù),經(jīng)Morris采樣后產(chǎn)生24000組參數(shù)組合。進行圖6中的批量計算后,返回同等數(shù)量的NSE結(jié)果。將24000組參數(shù)集-NSE結(jié)果數(shù)據(jù)輸入Morris算法,得到敏感指數(shù)并排序。選擇敏感指數(shù)大于0.08的8個參數(shù)作為率定參數(shù)。各參數(shù)名稱、最大/最小值及參數(shù)意義見表1。值得注意的是,CH_K2和CH_N2屬于可測量參數(shù),由于在本例中并沒有測定,因此仍然將其作為率定參數(shù)。

        本案例中的大數(shù)據(jù)集群軟硬件信息詳見參考文獻[8]中的表1,貝葉斯優(yōu)化算法的應(yīng)用流程為:初始化參數(shù)空間,進行拉丁超立方抽樣,據(jù)此創(chuàng)建批量模型場景文件;將場景文件分發(fā)到大數(shù)據(jù)集群,集群在文件所在節(jié)點執(zhí)行模型計算,返回NSE目標函數(shù)值;根據(jù)NSE目標函數(shù)值判斷是否達到率定要求,當未滿足率定要求時,選擇下一組參數(shù)繼續(xù)進行迭代計算,反之終止集群運算,返回率定結(jié)果。詳細操作流程可參考參考文獻[25]。

        表1 SWAT模型中識別的敏感性參數(shù)

        考慮到貝葉斯優(yōu)化算法本質(zhì)上屬于概率優(yōu)化,因此本案例采用20次重復(fù)測試以檢驗優(yōu)化結(jié)果的合理性。結(jié)合大數(shù)據(jù)集群硬件性能指標(56個算例并發(fā)計算),在單次優(yōu)化過程中設(shè)置560(56×10)次迭代計算。圖7(a)顯示了某次迭代過程中,NSE隨著迭代次數(shù)的增加而緩慢增長的趨勢。結(jié)果表明,NSE總體上保持逐步上升趨勢。圖7(a)也有助于幫助理解貝葉斯優(yōu)化過程,即如何推薦下一組參數(shù)集取決于開發(fā)和探索之間的權(quán)衡,NSE逐步上升過程中存在的波動變化證明了這一點。

        為了進一步證明貝葉斯優(yōu)化算法在SWAT參數(shù)率定中的優(yōu)勢,本案例使用隨機搜索(random search,RO)算法進行對比。從圖7(b)可以看出,當BO和RS達到同一較高NSE取值時(以0.87為例),BO迭代次數(shù)(121)略小于RS(130),說明BO率定效率高于RS。而在給定迭代次數(shù)下(以220為例),BO優(yōu)化獲得的NSE(0.89)大于RS(0.88),說明BO率定效果優(yōu)于RS。上述結(jié)果表明,從SWAT參數(shù)率定和優(yōu)化的效果和效率角度來看,貝葉斯優(yōu)化算法優(yōu)于隨機搜索算法。此外,依托大數(shù)據(jù)技術(shù)框架,可以融合多種優(yōu)化算法,建立水環(huán)境模擬優(yōu)化框架,從而為水環(huán)境模型深度應(yīng)用和價值發(fā)揮提供理想環(huán)境。

        圖7 案例率定效果驗證一

        為了檢驗本案例的率定效果,對徑流模擬值(Sim)與實測值(Obs)進行對比,如圖8(a)所示。BO的NSE最大值為0.89,說明率定后的模型較好地捕捉了月徑流變化,可以用于案例月徑流模擬。對貝葉斯優(yōu)化過程中產(chǎn)生的20×560個徑流模擬結(jié)果值進行概率統(tǒng)計,獲得徑流模擬結(jié)果的概率直方圖,如圖8(b)所示。從圖8(b)可以看出,在率定過程中,徑流模擬值近似呈正態(tài)分布狀收斂,概率分布中極大值處的徑流量趨近于觀測值,說明率定過程中的參數(shù)不確定性可以傳到模擬結(jié)果中,從而導(dǎo)致模擬結(jié)果的不確定性。因此,在實際應(yīng)用中,模擬結(jié)果分布呈現(xiàn)出的收斂趨勢比取某個特定值更具有參考價值,同時也反映了開展模型不確定性研究的重要性,本案例中提出的模型與大數(shù)據(jù)技術(shù)融合策略可以為開展模型不確定性研究提供一種新思路。

        圖8 案例率定效果驗證二

        6 結(jié)束語

        限制水環(huán)境模型成功應(yīng)用的主要瓶頸是基礎(chǔ)數(shù)據(jù)難以獲取以及模型率定、模型驗證及場景分析中的高負荷計算?;A(chǔ)數(shù)據(jù)獲取依賴于精準的長期監(jiān)測和對監(jiān)測信息的高效提取,也可采用理論和經(jīng)驗相結(jié)合的方法彌補數(shù)據(jù)的欠缺。大數(shù)據(jù)存儲技術(shù)的可擴展、冗余、容錯機制確保了原始數(shù)據(jù)的可靠性和高可用性,使其成為一種合適的持久化選擇,為多源異構(gòu)基礎(chǔ)數(shù)據(jù)的持久化存儲提供了解決方案。作為典型的計算密集型復(fù)雜系統(tǒng)模型,水環(huán)境模型通常需要大量計算時間,尤其在面向自動率定、驗證及場景分析等批量計算需求時,通常無法承受大量的迭代計算。在單個模型計算非常耗時的情況下,批量計算是被禁止的。雖然現(xiàn)有并行計算體系很好地解決了數(shù)值模型的高性能計算問題,但是在計算結(jié)果的規(guī)模存儲,尤其規(guī)模分析上性能表現(xiàn)一般。這和現(xiàn)有并行計算體系的設(shè)計目標有關(guān),它注重計算的高效性,而未考慮其他需求(如存儲和分析需求)。因此,水環(huán)境模型的高質(zhì)量應(yīng)用迫切需要一個緊密銜接計算、存儲和分析全鏈條的技術(shù)支撐體系。大數(shù)據(jù)技術(shù)體系成為潛在的理想選擇。大數(shù)據(jù)技術(shù)內(nèi)置了分布式計算、存儲和分析框架體系,自然成為一種解決水環(huán)境模型規(guī)模計算問題的潛在理想方案。

        在本研究中,以SWAT模型參數(shù)自動率定為例,驗證了方案的可行性。首先,通過將模型配置文件分布式分發(fā)到各個計算節(jié)點;接著,水環(huán)境模型計算程序會自動定位到配置文件所在位置;然后,在計算節(jié)點啟動計算的過程中,在SWAT模型計算完成后,開始解析計算結(jié)果,并將原始結(jié)果文件和解析結(jié)果記錄存入大數(shù)據(jù)庫;最后,利用內(nèi)存網(wǎng)格技術(shù)高效地提取和分析模擬結(jié)果。上述所有環(huán)節(jié)緊密銜接了計算、存儲和分析技術(shù)鏈條,應(yīng)用案例證明了水環(huán)境模型與大數(shù)據(jù)技術(shù)融合的可行性,二者的融合為深入挖掘水環(huán)境模型的應(yīng)用潛力和充分發(fā)揮其應(yīng)用價值提供了新的視角。

        水環(huán)境模型和大數(shù)據(jù)技術(shù)融合的核心是模型分布式計算,即模型作為獨立的第三方可執(zhí)行程序被計算框架調(diào)用,比較適合模型參數(shù)率定及情景分析等批量計算的應(yīng)用場景。受益于大數(shù)據(jù)分布式計算橫向擴展的特點,計算效率通常和計算節(jié)點個數(shù)呈線性增長關(guān)系,這極大提高了模型的計算效率。即便如此,作為計算密集型復(fù)雜模型,水環(huán)境模型計算仍然非常耗時。相反,近似物理模型的統(tǒng)計“代理模型”可以提供對物理系統(tǒng)的高效仿真。代理模型系統(tǒng)以統(tǒng)計模型的形式映射輸入變量和輸出變量,該統(tǒng)計模型通過使用物理模型生成的一組數(shù)據(jù)進行訓(xùn)練和驗證。代理模型在水文學(xué)領(lǐng)域已被廣泛研究[26],近似算法(如kriging[27]、人工神經(jīng)網(wǎng)絡(luò)[28]、徑向基函數(shù)[29]、多項式回歸[30]、支持向量機[31]、稀疏網(wǎng)格插值法[32]和隨機森林技術(shù)[33])已被應(yīng)用于各種地球系統(tǒng)和水文系統(tǒng)。在最新研究中,復(fù)雜水動力水質(zhì)模型EFDC(environmental fluid dynamics code)被長短期記憶(long short-term memory,LSTM)代理反映了這一趨勢[34]??梢灶A(yù)見,水環(huán)境模擬與大數(shù)據(jù)技術(shù)融合有以下兩個發(fā)展趨勢。

        (1)以大數(shù)據(jù)技術(shù)為轉(zhuǎn)化載體,水環(huán)境模型將以統(tǒng)計模型形式從物理模型轉(zhuǎn)化為代理模型,這將極大地改變現(xiàn)有水環(huán)境模型的應(yīng)用模式。與物理模型相比,代理模型兼具較高的模擬精度和極高的計算效率,使之成為物理模型的理想替代,這勢必會推動模型參數(shù)敏感性分析、參數(shù)率定及情景分析等應(yīng)用研究。

        (2)水環(huán)境模擬優(yōu)化框架成為未來的發(fā)展趨勢。該框架以完整的分布式計算、存儲和分析鏈為技術(shù)支撐,以物理模型或代理模型為核心,結(jié)合單目標或多目標優(yōu)化算法,解決優(yōu)化調(diào)控類科學(xué)決策問題。

        猜你喜歡
        框架融合環(huán)境
        村企黨建聯(lián)建融合共贏
        框架
        長期鍛煉創(chuàng)造體內(nèi)抑癌環(huán)境
        融合菜
        一種用于自主學(xué)習(xí)的虛擬仿真環(huán)境
        從創(chuàng)新出發(fā),與高考數(shù)列相遇、融合
        廣義框架的不相交性
        《融合》
        孕期遠離容易致畸的環(huán)境
        環(huán)境
        亚瑟国产精品久久| 精品一级一片内射播放| 手机在线播放成人av| 国产精品久久久久影视不卡| 欧洲日韩视频二区在线| 青青草在线成人免费视频| 熟女少妇精品一区二区三区| 91九色中文视频在线观看| 亚洲av国产av综合av卡| 国产av麻豆mag剧集| 国产成人久久综合热| 国产精品视频一区日韩丝袜| 一二区视频免费在线观看| 国产禁区一区二区三区| 亚洲日韩在线中文字幕综合| 中文字幕丰满乱子无码视频| 国产亚洲日韩欧美久久一区二区| 91性视频| 国产精品综合色区av| 青青草久久久亚洲一区| 亚洲国产精品久久无人区| 国产精品久久国产精品99 gif| 成年女人a毛片免费视频| 亚洲国产一区二区a毛片| 粉嫩少妇内射浓精videos| 乱子伦av无码中文字幕| 美女精品国产一区二区三区| 午夜亚洲精品一区二区| 国产成人自拍视频播放| 国产ww久久久久久久久久| 真实国产乱啪福利露脸| 99精品一区二区三区免费视频| 日韩中文字幕网站| 蜜桃一区二区三区在线视频| 精品无码久久久久久久久水蜜桃 | 亚洲av日韩综合一区尤物| 国内精品久久久久影院薰衣草| 无遮无挡爽爽免费毛片| 人人妻人人澡人人爽精品欧美| 欧美亚洲韩国国产综合五月天| 日本一区二区三区资源视频|