• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hive的高寒草地海量數(shù)據(jù)高效分析系統(tǒng)設(shè)計研究

      2021-12-15 08:01:14李亮丹曄沙謝夏胡月明謝健文周悟游小敏
      關(guān)鍵詞:數(shù)據(jù)量海量草地

      李亮丹,曄沙,謝夏,胡月明,,3,4,謝健文,3,4,周悟,游小敏

      (1.華南農(nóng)業(yè)大學(xué)資源環(huán)境學(xué)院,廣州 510642;2.海南大學(xué)熱帶作物學(xué)院,???570228;3.青海-廣東自然資源監(jiān)測與評價聯(lián)合重點實驗室,西寧 810016;4.廣州市華南自然資源科學(xué)技術(shù)研究院,廣州 510642)

      高寒草地生態(tài)系統(tǒng)是我國海拔最高、面積最大的生態(tài)系統(tǒng)類型,也是我國重要的畜牧業(yè)基地,其對于高原地區(qū)的水源涵養(yǎng)、生物多樣性保護、固碳等生態(tài)功能具有不可替代的作用[1-4]。然而,高寒草地生態(tài)系統(tǒng)具有脆弱性與敏感性的特點,一旦被破壞,容易導(dǎo)致水土流失、江河湖泊斷流干涸、蟲鼠災(zāi)害、沙塵暴等一系列生態(tài)災(zāi)害問題。而高寒草地一旦退化,修復(fù)和治理往往需要很長時間,且要耗費極大的人力和物力資源。

      為了解決高寒草地退化問題,我國在高寒草地生態(tài)系統(tǒng)監(jiān)測、草地生態(tài)修復(fù)方面開展了大量的工作[5-8]。2000 年,我國啟動青海三江源自然保護區(qū)生態(tài)保護和建設(shè)工程[5]。不少學(xué)者就三江源生態(tài)保護和建設(shè)工程的成效進行了定性或定量的分析[6],提出了啟示性的建議[7],并對三江源生態(tài)保護和建設(shè)成效進行了評估[8]。除此之外,也有大量的學(xué)者從事高寒區(qū)域生態(tài)評價、高寒草地評價等工作。在生態(tài)評價方面,氣候變化[9]、土壤特征[10]等是學(xué)者們關(guān)注的重點。在高寒草地評價方面,植被覆蓋變化[11]、生態(tài)因素與植被的關(guān)系[12]、草地退化評價[13]等也受到了廣泛關(guān)注。隨著國家相關(guān)部門和眾多學(xué)者對高寒草地多方面、多手段的監(jiān)測和研究,其數(shù)據(jù)量也隨時間呈爆炸式增長,合理有效地利用高寒草地海量數(shù)據(jù)進行高寒草地退化研究,通過對價值密度較低的海量數(shù)據(jù)進行挖掘及綜合分析,不僅能夠系統(tǒng)、科學(xué)地對高寒草地的退化與沙漠化的情況進行評價,而且能夠為高寒草地監(jiān)測與管理政策的科學(xué)制定提供理論依據(jù)。

      基于海量數(shù)據(jù)進行高寒草地退化研究的基礎(chǔ)在于數(shù)據(jù)的存儲和分析。目前高寒草地涉及的數(shù)據(jù)按來源主要可歸納成4大類:①Landsat系列、Sentinel系列、國產(chǎn)高分以及中分辨率成像光譜儀(MODIS)等多傳感器的遙感數(shù)據(jù)[14];②來自監(jiān)測站點的監(jiān)測數(shù)據(jù),如氣候、生物量等基礎(chǔ)地理數(shù)據(jù);③相關(guān)部門信息資料,如各類社會經(jīng)濟統(tǒng)計表格、描述文獻、地形圖、CAD 測繪圖件、GIS 數(shù)據(jù)等;④實驗數(shù)據(jù),如根據(jù)不同實驗?zāi)康牟荚O(shè)樣點得到的各類土壤和草地健康系數(shù)、草地覆蓋度等監(jiān)管指標(biāo)數(shù)據(jù)??傮w來說,我國積累的高寒草地數(shù)據(jù)主要呈現(xiàn)以下特點:①數(shù)據(jù)規(guī)模龐大,數(shù)據(jù)分布不均衡;②多源多結(jié)構(gòu)數(shù)據(jù)并存,異構(gòu)數(shù)據(jù)量大、種類多;③空間性強;④數(shù)據(jù)格式多樣,數(shù)據(jù)質(zhì)量參差不齊。針對以上高寒草地數(shù)據(jù)的特點,本研究提出通過分布式技術(shù)解決其高效存儲與分析的問題,旨在為高寒草地的監(jiān)測與管理提供更多的方法與思路,并為后續(xù)政策制定及決策提供科學(xué)的數(shù)據(jù)支持。

      1 高寒草地海量數(shù)據(jù)分析系統(tǒng)整體設(shè)計

      1.1 需求分析

      針對高寒草地數(shù)據(jù)的特點,本系統(tǒng)設(shè)計與實現(xiàn)了基于Hive 的高寒草地海量數(shù)據(jù)分析系統(tǒng),以解決高寒草地退化評價中數(shù)據(jù)存儲與分析的問題,主要需求如下:

      (1)數(shù)據(jù)搜集

      數(shù)據(jù)搜集是關(guān)鍵的第一步,需要遵循全面、準(zhǔn)確、直觀、科學(xué)的原則,多渠道、多手段地對高寒草地實時監(jiān)測數(shù)據(jù)及海量歷史數(shù)據(jù)進行搜集,主要包括監(jiān)測站信息數(shù)據(jù)、草地類型數(shù)據(jù)、生物量數(shù)據(jù)、氣象數(shù)據(jù)、水文數(shù)據(jù)等。

      (2)數(shù)據(jù)管理

      本研究需要完成對高寒草地海量數(shù)據(jù)可靠的分布式存儲。Hive支持各種數(shù)據(jù)類型,包括基礎(chǔ)數(shù)據(jù)類型tinyint、smallint、int、bigint、float、string 等,同時也支持array、map、struct、union 等復(fù)雜的數(shù)據(jù)類型。Hive支持的文件格式主要包括textfile(文本文件)、sequencefile(二進制文件)、rcfile(Hive 推出的面向列的數(shù)據(jù)格式)。同時,Hive 繼承了分布式文件系統(tǒng)HDFS 的數(shù)據(jù)存儲性能,具有極優(yōu)秀的拓展性,適合對大量的高寒草地數(shù)據(jù)進行存儲與處理。

      (3)數(shù)據(jù)分析

      一方面,基于海量數(shù)據(jù)的高寒草地退化評價需要對高寒草地實時監(jiān)測數(shù)據(jù)及海量歷史數(shù)據(jù)進行批處理,而現(xiàn)有的技術(shù)往往難以保證數(shù)據(jù)批處理的效率,存在計算能力不強的問題,因此,需要提高對海量數(shù)據(jù)批處理分析的效率。另一方面,植被生長狀況、植被生產(chǎn)力和土壤侵蝕狀況等都需要經(jīng)過一系列復(fù)雜的分析和計算,然而通過簡單的分類、統(tǒng)計往往難以從海量高寒草地數(shù)據(jù)中獲取足夠的、有價值的信息,因此,需要提升系統(tǒng)的分析拓展能力,能夠通過編寫代碼或調(diào)用腳本的方式,完成代碼層面的拓展,滿足更新的分析需求。

      1.2 數(shù)據(jù)來源

      本研究數(shù)據(jù)由多個渠道獲取,主要數(shù)據(jù)來源為青海省草原總站、青海湖流域生態(tài)環(huán)境綜合數(shù)據(jù)平臺等,結(jié)合國內(nèi)高寒草地研究領(lǐng)域的相關(guān)學(xué)術(shù)論文,以保證數(shù)據(jù)的真實性與數(shù)據(jù)處理的科學(xué)性。對于高寒草地退化,學(xué)者們主要從植被退化、土壤退化等方面進行研究[1,15-19],參照相關(guān)研究內(nèi)容,本研究從生物量、植被類型、土壤、氣象、水文等因子考慮,進行相關(guān)數(shù)據(jù)指標(biāo)的確定。通過走訪青海大學(xué)、青海省草原總站、青海省圖書館、青海省環(huán)境監(jiān)測中心站、青海省水土保持局、中國科學(xué)院西北高原生物研究所、青海省測繪地理信息局、青海省氣象局等單位,最終完成數(shù)據(jù)的搜集。完成數(shù)據(jù)搜集后,通過三個標(biāo)準(zhǔn)(表1)進行數(shù)據(jù)的篩選。

      表1 高寒草地數(shù)據(jù)搜集篩選標(biāo)準(zhǔn)Table 1 Data collection and selection criteria for alpine grassland

      1.3 整體架構(gòu)設(shè)計

      本系統(tǒng)的整體架構(gòu)分為數(shù)據(jù)源、數(shù)據(jù)存儲模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)應(yīng)用。各模塊功能如圖1所示。

      圖1 系統(tǒng)整體架構(gòu)設(shè)計圖Figure 1 The overall system design diagram

      數(shù)據(jù)源:系統(tǒng)搜集高寒草地海量科學(xué)數(shù)據(jù),對高寒草地生態(tài)、基礎(chǔ)環(huán)境、社會經(jīng)濟等各方面的信息進行記錄。數(shù)據(jù)源為整個系統(tǒng)中最為基礎(chǔ)的模塊。本研究的數(shù)據(jù)分為高寒草地的歷史數(shù)據(jù)與草地實時監(jiān)測數(shù)據(jù)。歷史數(shù)據(jù)采用關(guān)系型數(shù)據(jù)庫進行管理,為本系統(tǒng)提供原始數(shù)據(jù),這些原始數(shù)據(jù)通過草地普查資料、草地資源統(tǒng)計資料、草地工程項目資料等方式獲取,存儲于MySQL數(shù)據(jù)庫中;草地實時監(jiān)測數(shù)據(jù)主要通過各草地監(jiān)測站點、氣象監(jiān)測站點、水文監(jiān)測站點等監(jiān)測站點網(wǎng)絡(luò)動態(tài)監(jiān)測的數(shù)據(jù)匯總得到,主要包括監(jiān)測站信息、草地類型、生物量、氣象、水文。

      數(shù)據(jù)存儲模塊:數(shù)據(jù)存儲模塊的功能主要由Hadoop 平臺完成,主要為HDFS、MapReduce、Hive 和Sqoop,各組件承擔(dān)起系統(tǒng)數(shù)據(jù)存儲的相應(yīng)功能。通過拓展并合理應(yīng)用以上組件,將海量數(shù)據(jù)導(dǎo)入Hive中,完成數(shù)據(jù)存儲。

      數(shù)據(jù)分析模塊:數(shù)據(jù)存儲是系統(tǒng)的基礎(chǔ),對存儲于系統(tǒng)中的海量數(shù)據(jù)進行數(shù)據(jù)查詢和分析是本研究的重點之一。目前,已構(gòu)建排序函數(shù)、聚集函數(shù)、數(shù)據(jù)過濾模型等,用于高寒草地海量數(shù)據(jù)精細與復(fù)雜分析,以進行決策輔助與狀態(tài)監(jiān)測。并且提供相應(yīng)易于控制與操作的用戶接口,使得非專業(yè)技術(shù)人員可以進行管理與訪問。

      數(shù)據(jù)應(yīng)用:本系統(tǒng)的開發(fā)是為基于海量數(shù)據(jù)的高寒草地退化評價服務(wù)的,旨在為高寒草地植被生長狀況、植被生長力、土壤侵蝕等高寒草地退化綜合評價提供相應(yīng)的技術(shù)支持,最終實現(xiàn)數(shù)據(jù)應(yīng)用。

      2 高寒草地海量數(shù)據(jù)分析系統(tǒng)具體實現(xiàn)

      2.1 基于Hadoop的高寒草地海量數(shù)據(jù)處理平臺搭建

      基于Hadoop 的高寒草地海量數(shù)據(jù)處理平臺搭建過程主要包括以下三個方面:單節(jié)點配置、集群配置、Hadoop組件配置。主要的技術(shù)流程如圖2所示。

      圖2 基于Hadoop的高寒草地海量數(shù)據(jù)處理平臺搭建流程Figure 2 The process of building a massive data processing platform for alpine grassland based on Hadoop

      (1)單節(jié)點配置

      選擇一臺計算機節(jié)點作為名稱節(jié)點,其余的計算機節(jié)點作為數(shù)據(jù)節(jié)點。在每個節(jié)點上進行系統(tǒng)環(huán)境的配置,安裝SSH(Secure Shell)登陸、安裝JAVA 并配置環(huán)境變量(本研究使用OpenJDK 1.7 作為JAVA環(huán)境)、選擇穩(wěn)定的Hadoop 2.7.3 版本進行安裝,并通過命令行驗證單節(jié)點配置是否完成。

      (2)集群配置

      集群配置的第一步是進行網(wǎng)絡(luò)配置,確保集群內(nèi)所有節(jié)點處于同一局域網(wǎng)內(nèi)。第二步是通過SSH 配置無密碼登陸節(jié)點,使得名稱節(jié)點可以無密碼SSH登陸到各數(shù)據(jù)節(jié)點上。第三步是通過修改配置文件完成集群環(huán)境配置。第四步是集群Hadoop 驗證,并通過命令行或訪問Hadoop的Web 界面的方式驗證集群搭建是否成功。

      (3)Hadoop 組件配置

      在完成Hadoop 集群配置后,需進行Hive 環(huán)境及Sqoop 環(huán)境的部署。Hive 環(huán)境部署步驟如下:第一步是下載并解壓最新穩(wěn)定版本的Hive 源程序,本研究使用Hive 1.2.2;第二步是修改配置Hive 的PATH環(huán)境變量;第三步是修改Hive 的配置文件;第四步是選擇MySQL 作為Hive 的元數(shù)據(jù)庫而不是使用自帶的derby 元數(shù)據(jù)庫;第五步是啟用Hive,并測試驗證是否安裝成功。Sqoop 環(huán)境部署步驟如下:第一步是下載并解壓最新穩(wěn)定版本的Sqoop 程序;第二步是修改Sqoop 的配置文件;第三步是配置Sqoop 的環(huán)境變量;第四步是將 MySQL 驅(qū)動包拷貝到SQOOP_HOME/lib;第五步是測試利用Sqoop 將遠程數(shù)據(jù)導(dǎo)入Hive 是否成功。

      2.2 數(shù)據(jù)ETL

      ETL是英文Extract-Transform-Load 的縮寫,它定義為將數(shù)據(jù)從來源經(jīng)過抽?。‥xtract)、轉(zhuǎn)換(Transform)、加載(Load)到數(shù)據(jù)庫的過程。其主要的步驟包括:從數(shù)據(jù)源中獲取數(shù)據(jù),數(shù)據(jù)清洗以提高數(shù)據(jù)質(zhì)量,最終按照預(yù)先定義好的數(shù)據(jù)模型將數(shù)據(jù)加載到數(shù)據(jù)倉庫中。本研究從數(shù)據(jù)源獲取的草地實時監(jiān)測數(shù)據(jù)經(jīng)過數(shù)據(jù)預(yù)處理后,導(dǎo)入已設(shè)計完成的高寒草地生態(tài)數(shù)據(jù)表中,完成數(shù)據(jù)ETL處理。

      (1)數(shù)據(jù)預(yù)處理

      通過對源數(shù)據(jù)的分析,對源數(shù)據(jù)進行基本的預(yù)處理,進行數(shù)據(jù)填充[20]的操作,將得到的數(shù)據(jù)從Excel格式轉(zhuǎn)換為文本文件格式進行存儲,每條高寒草地數(shù)據(jù)中的字段用制表符分隔,每條記錄用換行符分隔,以適應(yīng)HDFS的存儲方式,方便導(dǎo)入Hive中。

      本研究以2012—2014 年部分草地監(jiān)測統(tǒng)計數(shù)據(jù)中完整的生物量數(shù)據(jù)為例,進行數(shù)據(jù)填充預(yù)處理,具體數(shù)據(jù)如表2 所示,共8 個字段,69 條記錄。對該完整數(shù)據(jù)集中的紫花針茅和矮火絨草兩個字段各隨機去除6 個數(shù)據(jù),構(gòu)建完全隨機缺失數(shù)據(jù)集(Missing completely at random,MCAR),數(shù)據(jù)缺失率略低于10%。由于樣方之間聯(lián)系緊密,且數(shù)據(jù)缺失率不高,因此,選用EM 算法[21](Expectation-Maximum,也稱期望最大化算法)對構(gòu)建缺失數(shù)據(jù)集進行填充。

      表2 草地鮮草質(zhì)量樣例預(yù)處理數(shù)據(jù)Table 2 Sample data of fresh grass weight for data preprocessing

      通過EM 算法對缺失的草地生物量樣例數(shù)據(jù)進行填充,并對填充后數(shù)據(jù)集與完整數(shù)據(jù)集進行平均絕對誤差[22]、平均相對誤差[23]、最大絕對誤差[24]、均方根誤差[25-26]等四個指標(biāo)的對比,填充結(jié)果見表3和表4。

      從紫花針茅字段的三組缺失數(shù)據(jù)填充結(jié)果(表3)來看,三組填充結(jié)果的平均絕對誤差第一組最高,第三組次之,第二組最低,與之相對應(yīng)的第一組平均相對誤差最高,達到了39.12%,第二組、第三組分別為16.53%、26.81%。在最大絕對誤差方面,第一組為25.91%,也遠高于第二組、第三組。從表3可知,第一組的平均相對誤差較大,說明第一組填充值與真實值之間的偏差與真實值的比值較大,原因是所構(gòu)建的缺失數(shù)據(jù)集的缺失率不高,當(dāng)?shù)谝唤M出現(xiàn)最大絕對誤差達到25.91%的數(shù)據(jù)時,對整個數(shù)據(jù)集的填充造成比較大的影響。在反映數(shù)據(jù)填充精密度的均方根誤差上,第一組最大,為12.34%,第二組最小,為2.30%,說明第一組的填充值與真實值之間的離散程度更高。

      表3 紫花針茅三組缺失數(shù)據(jù)填充結(jié)果(%)Table 3 Filling results of three groups of missing data of Stipa purpurea(%)

      從矮火絨草字段的三組缺失數(shù)據(jù)填充結(jié)果(表4)來看,三組填充結(jié)果的平均絕對誤差第二組、第三組較為接近,分別為11.72%、11.01%,第一組相對其他兩組更低,說明單個填充值與真實值之間的偏差不大。三組填充結(jié)果的平均相對誤差值都不高,說明三組數(shù)據(jù)填充整體效果較好,數(shù)據(jù)可信度較高。在最大絕對誤差方面,第二組、第三組均比第一組的值更高,這一特點同樣在均方根誤差上有所反映,第二組、第三組的均方根誤差比第一組的值高,這是由于均方根誤差對第一組值中較大或較小的誤差較為敏感。由于不同樣方、不同樣地的生長條件不同,紫花針茅和矮火絨草生物量的真實值間也存在差異,因此這三組數(shù)據(jù)填充的最大絕對誤差較大。

      表4 矮火絨草三組缺失數(shù)據(jù)填充結(jié)果(%)Table 4 Filling results of three groups of missing data of Edelweiss dwarf(%)

      一般來說,平均相對誤差更能反映數(shù)據(jù)填充的可信程度,平均相對誤差的值越小,數(shù)據(jù)填充效果越好[23]??傮w而言,相較于孫華艷等[27]和熊秋芬等[28]研究中的數(shù)據(jù)精度,紫花針茅和矮火絨草字段數(shù)據(jù)填充結(jié)果的平均相對誤差都較低,說明數(shù)據(jù)填充效果較好,數(shù)據(jù)預(yù)處理可信度較高。

      (2)導(dǎo)入數(shù)據(jù)

      把數(shù)據(jù)預(yù)處理之后得到的結(jié)構(gòu)化數(shù)據(jù)映射為數(shù)據(jù)庫表,導(dǎo)入Hive 數(shù)據(jù)倉庫內(nèi)。21 世紀(jì)以來,針對高寒草地生態(tài)變遷與退化的特性,我國在高寒區(qū)域廣泛、連續(xù)地開展草地生態(tài)系統(tǒng)的監(jiān)測活動,形成了一系列完整的生態(tài)監(jiān)測站網(wǎng)體系,在這個過程中也累積了海量的歷史數(shù)據(jù),并產(chǎn)生了不斷更新的實時監(jiān)測數(shù)據(jù)[5,29]。

      對于海量的歷史數(shù)據(jù)與實時監(jiān)測數(shù)據(jù),本研究采用不同的處理方式導(dǎo)入Hive 中,完成數(shù)據(jù)的存儲。對于海量的歷史數(shù)據(jù),使用Sqoop 從MySQL 關(guān)系型數(shù)據(jù)庫中導(dǎo)入到Hive。將海量歷史數(shù)據(jù)導(dǎo)入到Hive 中的方法建立在已經(jīng)搭建完成Sqoop 的使用環(huán)境。首先通過Sqoop list database 命令定位到在Hive 中需要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫;然后篩選所需要的表及其相關(guān)的字段、屬性;最后通過Sqoop import命令將數(shù)據(jù)導(dǎo)入到Hive 中。而對于實時監(jiān)測數(shù)據(jù),導(dǎo)入Hive 通常有兩種方法:①直接從本地加載數(shù)據(jù)到Hive 數(shù)據(jù)倉庫中,適用于數(shù)據(jù)量不大的情況;②數(shù)據(jù)文件導(dǎo)入Hadoop的分布式文件系統(tǒng)HDFS 中,再利用Hive 命令將數(shù)據(jù)從HDFS 中加載至Hive,適用于數(shù)據(jù)量較大的情況。本研究使用方法②將結(jié)構(gòu)化數(shù)據(jù)導(dǎo)入草地類型主題表中指定的分區(qū)內(nèi)。

      2.3 數(shù)據(jù)存儲

      (1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計

      根據(jù)表1 的標(biāo)準(zhǔn),最終確定高寒草地關(guān)注度較高的數(shù)據(jù):監(jiān)測站信息、草地類型數(shù)據(jù)、生物量數(shù)據(jù)、氣象數(shù)據(jù)、水文數(shù)據(jù)。根據(jù)以上數(shù)據(jù)內(nèi)容對數(shù)據(jù)存儲進行設(shè)計,歸納為以下5 個表:site_information、grasstype_data、biomass_data、meteorological_data、hydrological_data,主要的數(shù)據(jù)類型為string、int、float、date。本文以水文數(shù)據(jù)表(表5)為例進行數(shù)據(jù)結(jié)構(gòu)設(shè)計。

      表5 水文數(shù)據(jù)表字段Table 5 Hydrological data table fields

      (2)數(shù)據(jù)存儲分區(qū)設(shè)計

      創(chuàng)建高寒草地數(shù)據(jù)庫,設(shè)計高寒草地生態(tài)數(shù)據(jù)表,本文以草地類型數(shù)據(jù)表為例進行描述。本研究使用分區(qū)的方法對高寒草地數(shù)據(jù)表進行設(shè)計,主要原因如下:①由于Hive 適合對數(shù)據(jù)進行批量處理,在處理單條數(shù)據(jù)時較慢,每一次數(shù)據(jù)查詢都要對數(shù)據(jù)倉庫中所有的數(shù)據(jù)進行檢索,因此,通過對數(shù)據(jù)表進行分區(qū)優(yōu)化可以達到隔離數(shù)據(jù)和優(yōu)化查詢的目的;②采用分區(qū)的方法可以建立多維度的數(shù)據(jù)模型,在分析數(shù)據(jù)時可以選擇不同的維度對數(shù)據(jù)進行處理。具體的分區(qū)如下。

      時間:對于任何數(shù)據(jù)源的任何數(shù)據(jù),時間都是一個很重要的屬性,對于高寒草地的數(shù)據(jù)來說,時間是最必要、最基本的維度。本研究從歷史數(shù)據(jù)庫中導(dǎo)入日積月累的數(shù)據(jù),同時也導(dǎo)入草地實時監(jiān)測的更新數(shù)據(jù),以保持系統(tǒng)的可靠性,因此,以時間為標(biāo)準(zhǔn)進行分區(qū)很有必要。

      地域:考慮高寒草地數(shù)據(jù)主要從監(jiān)測站點或者草地樣方監(jiān)測得到,本研究將高寒草地的數(shù)據(jù)以監(jiān)測站點所在行政單位的行政區(qū)劃代碼為分區(qū)依據(jù),同一行政區(qū)的所有草地監(jiān)測數(shù)據(jù)被放在同一個分區(qū)之內(nèi),使得對于某個特定行政區(qū)內(nèi)的數(shù)據(jù)進行查詢和分析時,只需掃描分區(qū)內(nèi)的數(shù)據(jù)。

      來源:本系統(tǒng)的數(shù)據(jù)來源為青海省草原總站、青海省環(huán)境監(jiān)測中心站、青海省氣象局等部門,為了區(qū)分數(shù)據(jù)來源,將數(shù)據(jù)來源作為分區(qū)的標(biāo)準(zhǔn)。

      高寒草地的數(shù)據(jù)主要由科學(xué)實地考察或者監(jiān)測站點定時監(jiān)測獲得,因此,本研究通過以數(shù)據(jù)測定的監(jiān)測站所在行政單位的行政區(qū)劃代碼為分區(qū)依據(jù),使得對于某個特定行政區(qū)內(nèi)的數(shù)據(jù)進行查詢和分析時,只需掃描分區(qū)內(nèi)的數(shù)據(jù),避免對所有數(shù)據(jù)進行檢索,從而大幅提升數(shù)據(jù)查詢與分析的效率。另外,可以根據(jù)實際工作的需求,調(diào)整“分區(qū)”的劃分,如以時間、來源、海拔等條件進行分區(qū)也是常用的選擇。

      2.4 數(shù)據(jù)查詢分析

      數(shù)據(jù)分析的目的是根據(jù)高寒草地數(shù)據(jù)的具體內(nèi)容,通過本系統(tǒng)的數(shù)據(jù)處理過程,將處理結(jié)果進行保存并展示。根據(jù)高寒草地工作中的具體需求,本研究設(shè)計并實現(xiàn)以下幾類數(shù)據(jù)查詢與數(shù)據(jù)分析的函數(shù)。

      (1)數(shù)據(jù)查詢

      數(shù)據(jù)查詢是通過設(shè)置某些查詢條件,從表或其他查詢中選取全部或者部分數(shù)據(jù),以表的形式顯示數(shù)據(jù)供用戶瀏覽。系統(tǒng)主要提供精確查詢、模糊查詢、表關(guān)聯(lián)查詢等基本數(shù)據(jù)查詢方式,以從海量高寒草地數(shù)據(jù)中找到所需記錄。

      (2)數(shù)據(jù)分析

      根據(jù)Hive 的特性及高寒草地海量數(shù)據(jù)的特點,本研究設(shè)計以下數(shù)據(jù)分析的函數(shù)用于處理高寒草地海量數(shù)據(jù),主要包括:排序聚集函數(shù)、極限函數(shù)、嵌套函數(shù)、分片函數(shù)等。

      嵌套函數(shù):本研究構(gòu)建嵌套函數(shù),通過設(shè)計相關(guān)的嵌套查詢語句查找每個水文監(jiān)測站每年的最高徑流量的均值。

      分片函數(shù):本研究通過構(gòu)建分片函數(shù)進行數(shù)據(jù)分析,下文為水文數(shù)據(jù)分析示例。

      2.5 后置處理

      (1)查看系統(tǒng)執(zhí)行計劃

      在執(zhí)行完成查詢分析處理后,可以通過explain關(guān)鍵字查看執(zhí)行查詢計劃的詳細信息,包括抽象語法樹、Hive 執(zhí)行各階段之間的依賴圖、執(zhí)行語句所對應(yīng)的MapReduce代碼及每個階段的信息,以上信息有助于對查詢分析處理進行調(diào)優(yōu),更加高效地使用Hive。

      (2)數(shù)據(jù)分析結(jié)果保存

      在完成數(shù)據(jù)查詢分析處理后,需要對分析結(jié)果進行保存以便日后調(diào)用。由于經(jīng)過分析查詢得到的結(jié)果往往是經(jīng)過篩選的數(shù)據(jù)或經(jīng)計算得到的成果,因此數(shù)據(jù)量不會太大。為了方便使用,本系統(tǒng)使用insert overwrite local directory 語句將得到的結(jié)果保存在本地系統(tǒng),方便查看。在完成保存結(jié)果后,可以通過shell 語句調(diào)用vim 或者gedit 文本編輯器對數(shù)據(jù)處理結(jié)果進行查看。

      3 高寒草地海量數(shù)據(jù)分析系統(tǒng)性能測試

      利用已經(jīng)實現(xiàn)的基于Hive 高寒草地海量數(shù)據(jù)分析系統(tǒng),分析其整體運行的情況,并通過設(shè)計三組實驗的方式,對系統(tǒng)各項主要性能進行測試,了解本系統(tǒng)是否能滿足高寒草地海量生態(tài)數(shù)據(jù)存儲與分析的需求,得出本系統(tǒng)在處理海量數(shù)據(jù)方面的性能特點。本文對開展的三個實驗進行說明。

      3.1 測試實驗

      (1)第一組實驗

      為了驗證Hadoop 平臺是否對海量數(shù)據(jù)的存儲有很好的適應(yīng)性,本研究使用Hadoop 的基準(zhǔn)測試工具TestDFSIO 測試Hadoop 平臺的文件讀寫性能。通過TestDFSIO 工具,改變系統(tǒng)存儲與讀取文件的文件大小、文件數(shù)量,獲取總運行時間和平均運行時間,以對集群的性能進行評價??刂莆募?shù)量為10,文件大小從5 MB 增加到500 MB,對系統(tǒng)的讀寫性能進行測試,獲取總運行時間和平均運行時間,對系統(tǒng)的大小、文件讀寫性能進行評價??紤]到單次實驗的偶然性,本研究進行了3 次實驗取其平均值,實驗結(jié)果如圖3和圖4所示。

      圖3 Hadoop平臺的存儲數(shù)據(jù)文件與運行時間之間的關(guān)系折線圖Figure 3 The line graph of the relationship between the stored data files and the running time of the Hadoop platform

      圖4 Hadoop平臺的讀取數(shù)據(jù)文件大小與運行時間之間的關(guān)系折線圖Figure 4 The line graph of the relationship between the size of the read data file and the running time of the Hadoop platform

      圖3 是數(shù)據(jù)規(guī)模的變化對系統(tǒng)存儲數(shù)據(jù)文件與運行時間的影響。由圖3 可知,隨著文件大小的增加和總體數(shù)據(jù)規(guī)模的增大,系統(tǒng)的總運行時間一直呈增長的狀態(tài),但是平均運行時間(平均寫1 MB數(shù)據(jù)所使用的時間)呈降低的趨勢??傔\行時間在文件大小高于100 MB 后,有非常明顯的拐點且以更高的斜率上升,這與數(shù)據(jù)量的增加有關(guān),說明系統(tǒng)對于大數(shù)據(jù)量的存儲具有良好的性能。

      圖4是數(shù)據(jù)規(guī)模的變化對系統(tǒng)讀取數(shù)據(jù)文件與運行時間的影響。由圖4 可知,隨著文件大小的增加和總體數(shù)據(jù)規(guī)模的增大,系統(tǒng)的總運行時間一直呈增長的狀態(tài),但是平均運行時間呈降低的趨勢,說明隨著數(shù)據(jù)量的增加,系統(tǒng)讀取海量數(shù)據(jù)的能力也增強。

      以上說明隨著數(shù)據(jù)量的增加,系統(tǒng)并行處理海量數(shù)據(jù)的能力得到體現(xiàn)。因此,Hadoop 集群對高寒草地海量數(shù)據(jù)的存儲有很好的適應(yīng)性。

      (2)第二組實驗

      為了解Hive 在分析海量高寒草地數(shù)據(jù)方面的效率,本研究對Hive 以及關(guān)系型數(shù)據(jù)庫RDBMS 對數(shù)據(jù)處理的性能進行對比。測試數(shù)據(jù)采用2014 年青海省稱多縣草地樣方監(jiān)測數(shù)據(jù)和部分虛擬數(shù)據(jù),總數(shù)據(jù)量約為3 958 萬條,7.56 GB。對此數(shù)據(jù)采用SQL Server 2008 與Hive 集群進行字段“植物種類”中的查詢處理,得到數(shù)據(jù)處理性能的對比。考慮到單次實驗的偶然性,每組實驗進行三次處理并取平均值得到最后結(jié)果。實驗結(jié)果如圖5所示。

      圖5 高寒草地分析數(shù)據(jù)的數(shù)據(jù)量與運行時間關(guān)系折線圖Figure 5 The line graph of the relationship between the data volume and the running time of the analysis of alpine grassland data

      實驗結(jié)果表明,當(dāng)數(shù)據(jù)量較小的時候,RDBMS 的處理效率更高,本系統(tǒng)并行處理效率沒有體現(xiàn),但隨著數(shù)據(jù)量的增大,當(dāng)數(shù)據(jù)量超過350 萬條后,本系統(tǒng)處理效率逐漸超過RDBMS,Hive 處理海量數(shù)據(jù)的優(yōu)勢十分明顯。這是由于本系統(tǒng)是建立在Hadoop 平臺上的數(shù)據(jù)批處理技術(shù),集群對環(huán)境的初始化、任務(wù)調(diào)度及數(shù)據(jù)傳輸耗時較長,但當(dāng)數(shù)據(jù)規(guī)模逐漸增大時,這些額外耗時基本穩(wěn)定,額外耗時所占比例減少,本系統(tǒng)對海量數(shù)據(jù)的分析優(yōu)勢得以體現(xiàn)。實驗證明,本系統(tǒng)對高寒草地海量數(shù)據(jù)的分析效率較高。

      (3)第三組實驗

      在創(chuàng)建基于Hive 的高寒草地生態(tài)數(shù)據(jù)倉庫后,可以通過HiveQL 對高寒草地生態(tài)數(shù)據(jù)進行分析處理,從海量數(shù)據(jù)中獲取有用信息。為了驗證本系統(tǒng)對海量數(shù)據(jù)的分析處理能力,開展第三組實驗,實驗采用2000—2015 年青海省草地類型數(shù)據(jù),從中統(tǒng)計青海省東南部三縣2007—2014 年的主要草地類型及其營養(yǎng)枝與生殖枝高度,通過本系統(tǒng)分析處理之后得到的結(jié)果如圖6 所示。主要植物種類為:早熟禾、火絨草、高山嵩草、蒲公英、龍膽、苔草、馬先蒿,其中早熟禾與蒲公英的營養(yǎng)枝、生殖枝高度較高,火絨草與高山嵩草高度較低。

      圖6 Hive系統(tǒng)數(shù)據(jù)分析處理結(jié)果Figure 6 Data analysis and processing results of the Hive system

      為了驗證以上數(shù)據(jù)分析結(jié)果的正確性,本研究開展相應(yīng)的對照實驗。首先從2000—2015 年青海省草地類型數(shù)據(jù)中篩選出2007—2014 年數(shù)據(jù),再從中篩選出研究區(qū)的數(shù)據(jù)。然后,通過多次使用計數(shù)函數(shù)的方法統(tǒng)計各草地類型出現(xiàn)的頻次,并對其進行排序,提取研究區(qū)最主要的草地類型。之后,分別計算每種草地類型的營養(yǎng)枝與生殖枝的高度,結(jié)果見圖7。最后,將Hive 數(shù)據(jù)分析技術(shù)得到的結(jié)果與對照實驗結(jié)果進行比對,發(fā)現(xiàn)兩組處理結(jié)果相同。因此,實驗證明,基于Hive 的數(shù)據(jù)分析技術(shù)可以從海量高寒草地生態(tài)數(shù)據(jù)中提取有效信息,分析效率較高,分析結(jié)果對于草地退化評價和草地生態(tài)保護等工作都具有較好的指導(dǎo)意義。

      圖7 對照實驗數(shù)據(jù)分析處理結(jié)果Figure 7 Data analysis and processing results of control experiments

      3.2 實驗結(jié)果

      為了測試本系統(tǒng)能否滿足高寒草地海量數(shù)據(jù)存儲與分析的需求,一共進行3 組實驗,結(jié)果表明:①基于Hadoop的集群面對數(shù)據(jù)量增加時,整體并行處理能力得到體現(xiàn),集群對海量數(shù)據(jù)的存儲、讀取都有很好的適應(yīng)性。②Hive 系統(tǒng)對高寒草地海量數(shù)據(jù)進行處理時,相較RDBMS 方法具有更高的分析效率。③對照試驗表明,Hive系統(tǒng)可以從海量高寒草地數(shù)據(jù)中提取有效信息。綜上,Hive系統(tǒng)在對海量高寒草地數(shù)據(jù)進行存儲和數(shù)據(jù)分析方面具有良好的性能,能夠有效滿足高寒草地海量數(shù)據(jù)的存儲與分析要求。

      4 結(jié)論與展望

      4.1 結(jié)論

      根據(jù)高寒草地數(shù)據(jù)存儲的需要,本研究搭建基于Hadoop 的高寒草地海量數(shù)據(jù)處理平臺。使用基于Hive的分布式數(shù)據(jù)倉庫技術(shù)進行結(jié)構(gòu)化數(shù)據(jù)的存儲,使用HiveQL 語句對數(shù)據(jù)進行分析。通過使用EM 算法進行數(shù)據(jù)填充、數(shù)據(jù)導(dǎo)入、數(shù)據(jù)分區(qū)存儲等步驟完成數(shù)據(jù)ETL及存儲。之后,通過函數(shù)編碼實現(xiàn)系統(tǒng)內(nèi)各查詢功能、分析功能,將數(shù)據(jù)分析結(jié)果進行后置處理,完成高寒草地海量數(shù)據(jù)分析。最后,進行系統(tǒng)性能測試。主要結(jié)論如下:

      (1)Hadoop 平臺具有較強的數(shù)據(jù)存儲和讀取性能。在文件數(shù)量為10 個,每個文件大小增加時,總體數(shù)據(jù)規(guī)模增大,系統(tǒng)整體存儲、讀取時間一直處于增長的狀態(tài),但是平均運行時間(平均處理1 MB數(shù)據(jù)所使用的時間)呈降低的趨勢。說明隨著數(shù)據(jù)量的增加,系統(tǒng)并行處理海量數(shù)據(jù)的能力得到體現(xiàn)。

      (2)基于Hive的高寒草地數(shù)據(jù)分析系統(tǒng)對不斷增長的海量數(shù)據(jù)具有較好的并行處理能力,并在查詢的數(shù)據(jù)量超過350萬條時,查詢效率比SQL Server更高。

      研究結(jié)果對高寒草地海量數(shù)據(jù)的存儲和分析提供了新的思路及可行的方法,且能夠滿足實際應(yīng)用的需求,對高寒草地海量數(shù)據(jù)的可靠存儲和高效分析具有重要意義。

      4.2 展望

      本研究初步設(shè)計完成基于Hive 的高寒草地海量數(shù)據(jù)分析系統(tǒng),主要的功能均已實現(xiàn),相較于傳統(tǒng)的Oracal、Mysql 技術(shù)具有拓展性能更強、計算效率更高的優(yōu)勢。但還有許多工作需要進一步研究和探討,具體如下:

      (1)系統(tǒng)功能的拓展

      本系統(tǒng)的數(shù)據(jù)查詢、數(shù)據(jù)分析功能是基于Hive進行設(shè)計實現(xiàn)的,通過對Hive 的特性研究了解到,仍有許多拓展性的技術(shù)有待開發(fā)應(yīng)用于高寒草地海量數(shù)據(jù)分析系統(tǒng)。可以通過編寫更多的用戶定義函數(shù)(UDF),并在數(shù)據(jù)查詢分析的時候調(diào)用,完成系統(tǒng)拓展,使得系統(tǒng)功能更豐富與強大。

      (2)可視化交互界面

      本系統(tǒng)目前由專業(yè)程序員使用,考慮到成本及開發(fā)時間因素,暫時沒有提供可視化用戶交互界面。因為很多的系統(tǒng)功能仍可進行拓展,目前的主要工作目標(biāo)仍放在完善系統(tǒng)功能上,在系統(tǒng)運行過程中并未提供用戶交互界面,因此,設(shè)計美觀大方的系統(tǒng)可視化界面將是未來研究的一個重點。

      (3)未來的研究方向

      本系統(tǒng)是搭建在Hadoop 分布式計算框架上,通過對Hive 數(shù)據(jù)倉庫工具進行開發(fā)實現(xiàn)的,Hive 只是本研究應(yīng)用的所屬于Hadoop 的其中一個工具,而在Hadoop 生態(tài)系統(tǒng)中仍有許多工具有待研究以應(yīng)用于高寒草地數(shù)據(jù)的存儲分析。HBase 可以用于高寒草地多源異構(gòu)海量數(shù)據(jù)的存儲,研究重點可放在基于HBase 對矢量空間數(shù)據(jù)并行存儲和查詢或者基于HBase 對遙感影像進行多維度并行存儲。

      猜你喜歡
      數(shù)據(jù)量海量草地
      一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
      基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
      計算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
      草地上的事
      幼兒100(2020年31期)2020-11-18 03:42:00
      高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
      寬帶信號采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計與研究
      電子制作(2019年13期)2020-01-14 03:15:18
      Laughing song
      海量快遞垃圾正在“圍城”——“綠色快遞”勢在必行
      草地
      小太陽畫報(2018年6期)2018-05-14 17:19:28
      草地上
      和田县| 鸡东县| 永平县| 北海市| 通辽市| 石景山区| 蕉岭县| 永宁县| 卢氏县| 江华| 射阳县| 隆子县| 容城县| 云霄县| 阳信县| 容城县| 新河县| 呼玛县| 喀喇沁旗| 深泽县| 莱州市| 赣州市| 灵丘县| 临汾市| 长宁县| 商水县| 拉孜县| 酒泉市| 重庆市| 尖扎县| 凤凰县| 安义县| 南昌县| 镇江市| 新乡市| 青龙| 铜鼓县| 阆中市| 重庆市| 玉树县| 秦安县|