吳庭天,田蜜,陳宗鑄,雷金睿,陳小花,李苑菱,黃緒壯
(海南省林業(yè)科學研究所,海南???571100)
中國林業(yè)信息化在近三十多年中從無到有,經歷了起步——系統(tǒng)化—網絡化三個過程。在此過程中,林業(yè)部門基于3s 技術建設了各類林業(yè)業(yè)務系統(tǒng),并且通過科學規(guī)范的資源勘查手段,積累了海量、異構、多源、動態(tài)的森林資源信息[1~5]。與此同時,林業(yè)信息化所構建的各類系統(tǒng),也都獨立的形成了信息孤島。隨著林業(yè)信息化建設工作的不斷深入和展開,林業(yè)工作者正面臨著森林資源數(shù)據(jù)管理及使用的新問題:如何管理離線及實時的森林資源海量數(shù)據(jù);如何高效、快速地挖掘和分析林業(yè)數(shù)據(jù)信息,使之運用到工作中去。
該研究旨在利用Hadoop 大數(shù)據(jù)集成分析平臺,運用大數(shù)據(jù)分析技術進行森林資源數(shù)據(jù)管理及分析研究,解決目前森林資源大數(shù)據(jù)存儲、計算能力、離線數(shù)據(jù)分析、共享數(shù)據(jù)等問題[6~8]。同時,充分利用基礎地理信息資源,構建科學合理的森林資源信息管理新模式,為森林資源調查、森林資源規(guī)劃設計調查、森林資源動態(tài)更新、森林資源數(shù)據(jù)共享等業(yè)務管理部門提供實時、準確、可靠的森林資源信息,實現(xiàn)林業(yè)信息化管理。
當前,森林資源管理系統(tǒng)主要基于空間地理信息系統(tǒng)、遙感技術、衛(wèi)星全球定位技術、空間數(shù)據(jù)庫技術及軟件工程,采用數(shù)據(jù)層、事務邏輯層、應用層3 層結構體系(B/S、C/S 模式)進行構建。其功能模塊主要有森林資源監(jiān)測模塊、森林資源資產管理模塊、森林資源管理輔助決策模塊、森林資源管理信息服務模塊、系統(tǒng)維護管理模塊等。其目的在于有效地管理轄區(qū)內的森林資源數(shù)據(jù),以及各類統(tǒng)計分析報告。隨著林業(yè)業(yè)務深入拓展,數(shù)據(jù)量逐年積累,數(shù)據(jù)計算量增大,當下的森林系統(tǒng)軟硬件難以進行線性拓展來提供有效的、快速的業(yè)務支撐。同時,林業(yè)部門在對多源數(shù)據(jù)集、離線數(shù)據(jù)分析上也提出了新的要求。經過調研分析,總結了目前林業(yè)部門針對森林資源大數(shù)據(jù)處理系統(tǒng)的需求,主要體現(xiàn)在以下幾個方面:(1)數(shù)據(jù)采集和傳輸需求
通過對指定林業(yè)離線業(yè)務數(shù)據(jù)進行匯聚,將分散的數(shù)據(jù)進行物理集中和整合管理。同時能夠采集及傳輸實時數(shù)據(jù),為實現(xiàn)對數(shù)據(jù)的分析提供數(shù)據(jù)支撐。
(2)數(shù)據(jù)存儲管理需求
林業(yè)部門數(shù)據(jù)量巨大,數(shù)據(jù)類型繁雜,數(shù)據(jù)需要持久化的存儲和訪問。不論是結構化數(shù)據(jù)、半結構化數(shù)據(jù)、還是非結構化數(shù)據(jù),經過數(shù)據(jù)存儲引擎進行建模后,持久化保存在存儲系統(tǒng)上。存儲系統(tǒng)要具備高可靠性、快速查詢能力。同時能夠支撐線性拓展,滿足日后數(shù)據(jù)存儲和安全要求。
(3)數(shù)據(jù)計算分析需求
包括海量數(shù)據(jù)的離線計算能力、高效即席數(shù)據(jù)查詢需求和低時延的實時計算能力。隨著數(shù)據(jù)量的不斷增加,需要數(shù)據(jù)平臺具備線性擴展能力和強大的分析能力,支撐不斷增長的數(shù)據(jù)量,滿足未來大數(shù)據(jù)挖掘分析的發(fā)展需要,確保平臺系統(tǒng)的不間斷且有效地工作。
(4)數(shù)據(jù)關聯(lián)集中需求
對集中存儲在數(shù)據(jù)管理平臺的數(shù)據(jù),通過正確的技術手段將這些離散的數(shù)據(jù)、實時的數(shù)據(jù)進行數(shù)據(jù)關聯(lián),即:通過分析數(shù)據(jù)間的業(yè)務關系,建立關聯(lián)數(shù)據(jù)之間的關聯(lián)關系,將離散的、實時的數(shù)據(jù)串聯(lián)起來形成能表達更多含義信息集合,已形成基礎庫、業(yè)務庫、知識庫等數(shù)據(jù)集。
(5)應用開發(fā)需求
依靠集中數(shù)據(jù)集,利用軟件工程及相關成熟的開發(fā)技術,快速開發(fā)創(chuàng)新應用以及數(shù)據(jù)可視化,支撐實際分析業(yè)務需要。
(6)大數(shù)據(jù)分析挖掘需求。
通過對海量的業(yè)務大數(shù)據(jù)進行分析和挖掘,深度學習,算法研究,輔助決策,提供資源配置分析優(yōu)化等輔助決策功能,促進林業(yè)的快速、智能化的發(fā)展。
該研究以充分利用當下大數(shù)據(jù)的優(yōu)勢和基礎地理信息資源為目標,構建科學合理的森林資源信息管理新模式,為森林資源調查、森林資源規(guī)劃設計、森林資源動態(tài)更新、森林資源數(shù)據(jù)共享等業(yè)務管理部門提供實時、準確、可靠的森林資源信息,實現(xiàn)林業(yè)信息化管理。
森林資源分析系統(tǒng)作為一個整體,不僅需要對傳統(tǒng)業(yè)務的管理支撐,同時也可以面向海量數(shù)據(jù)、離線的多源數(shù)據(jù)和實時數(shù)據(jù)進行有效的管理和分析。利用當下成熟的軟件技術及新興的大數(shù)據(jù)框架,可將整體框架分為多源異類數(shù)據(jù)層、數(shù)據(jù)存儲與計算層、數(shù)據(jù)應用層和用戶層(圖1)。
(1)多源異類數(shù)據(jù)層是數(shù)據(jù)產生的地方,其有多種形式,包含有業(yè)務系統(tǒng)、web 系統(tǒng)、手機app、外部系統(tǒng)、人工整理等。此層是數(shù)據(jù)產生的地方,是數(shù)據(jù)平臺的源頭;
(2)數(shù)據(jù)存儲與計算層是整個架構的核心,完成了多源異類數(shù)據(jù)抽取、轉換、清洗和數(shù)據(jù)存儲、數(shù)據(jù)建模,同時為計算資源提供調度;
(3)數(shù)據(jù)應用包含報表展示、數(shù)據(jù)分析、即席分析、數(shù)據(jù)挖掘、機器學習、深度學習等多個數(shù)據(jù)方面的應用;
(4)用戶層主要指系統(tǒng)使用和管理人員,包括林業(yè)資源調查與管理人員。
圖1 系統(tǒng)總體架構Fig.1 System architecture diagram
與傳統(tǒng)林業(yè)資源管理方式的耗時、耗財、耗力以及繁瑣不同,森林資源管理系統(tǒng)能夠滿足不同層次林業(yè)部門的需要,幫助林業(yè)部門及時、全面地了解林業(yè)資源整體狀況,并進行科學的決策分析,實現(xiàn)林業(yè)資源的持續(xù)發(fā)展。系統(tǒng)主要包括林地一張圖系統(tǒng)、統(tǒng)計分析系統(tǒng)、古樹名木管理信息系統(tǒng)以及系統(tǒng)管理,如圖2 所示。
圖2 系統(tǒng)功能結構Fig.2 System functional structure diagram
3.2.1 森林一張圖
森林一張圖:包括森林資源圖層、公益林圖層、地名圖層和濕地圖層等,提供坐標定位、地名搜索、緩沖分析及歷史數(shù)據(jù)對比等功能服務(圖3)。
圖3 森林一張圖綜合查詢系統(tǒng)Fig.3 Forest map integrated query system
3.2.2 統(tǒng)計分析模塊
統(tǒng)計分析主要包括對相關矢量和柵格數(shù)據(jù)的分析生成相關的統(tǒng)計報表和專題圖等,滿足各類林地業(yè)務需求。
3.2.3 古樹名木管理模塊
古樹名木管理信息系統(tǒng)通過地理信息和遙感手段,對實地采集的古樹名木信息整合、匯總、更新,實現(xiàn)對古樹名木的信息管理和長期監(jiān)測(圖4)。
圖4 古樹名木信息管理系統(tǒng)Fig.4 Ancient and famous trees information management system
3.2.4 系統(tǒng)管理模塊
系統(tǒng)管理:包括系統(tǒng)設置和數(shù)據(jù)庫管理兩部分;以系統(tǒng)管理、數(shù)據(jù)交換、信息發(fā)布和信息產品服務的方式,同時根據(jù)經營活動和自然災害情況,對采伐、撫育間伐和災害影響的小班進行數(shù)據(jù)更新,為森林資源管理部門提供森林資源基礎信息服務。
數(shù)據(jù)采集傳輸工具和技術主要分為“離線批處理”和“實時數(shù)據(jù)采集和傳輸”兩大類。(1)Sqoop
Sqoop 是一個用來將Hadoop 和關系型數(shù)據(jù)庫中的數(shù)據(jù)相互轉移的工具,可以將一個關系型數(shù)據(jù)庫(例如:MySQL, Oracle, Postgres 等)中的數(shù)據(jù)導進到Hadoop 的HDFS 中,也可以將HDFS 的數(shù)據(jù)導進到關系型數(shù)據(jù)庫中。對于某些NoSQL 數(shù)據(jù)庫它也提供了連接器。類似于其他ETL 工具,使用元數(shù)據(jù)模型來判斷數(shù)據(jù)類型并在數(shù)據(jù)從數(shù)據(jù)源轉移到Hadoop 時確保類型安全的數(shù)據(jù)處理。Sqoop 專為大數(shù)據(jù)批量傳輸設計,能夠分割數(shù)據(jù)集并創(chuàng)建Hadoop任務來處理每個區(qū)塊。
(2)Flume
Flume 是Cloudera 提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume 支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume 提供對數(shù)據(jù)進行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。
(1)Hadoop MapReduce
MapReduce 是一種可用于數(shù)據(jù)處理的編程框架。MapReduce 采用“分而治之”的思想,把對大規(guī)模數(shù)據(jù)集的操作,分發(fā)給一個主節(jié)點管理下的各個分節(jié)點共同完成,然后通過整合各個節(jié)點的中間結果,得到最終結果。
在分布式計算中,MapReduce 框架負責處理了并行編程中分布式存儲、工作調度、負載均衡、容錯均衡、容錯處理以及網絡通信等復雜問題,把處理過程高度抽象為兩個函數(shù):map 和reduce,map 負責把任務分解成多個任務,reduce 負責把分解后多任務處理的結果匯總起來。
(2)Hive
Hive 是基于Hadoop 的一個數(shù)據(jù)倉庫工具,可以將結構化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql 查詢功能,可以將sql 語句轉換為MapReduce 任務進行運行。其優(yōu)點是學習成本低,可以通過類SQL 語句快速實現(xiàn)簡單的MapReduce 統(tǒng)計,不必開發(fā)專門的MapReduce 應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。
(1)Hadoop HDFS 分布式文件系統(tǒng)
HDFS 被設計成適合運行在通用硬件上,是一個高度容錯性的分布式文件系統(tǒng)。HDFS 能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應用。HDFS 放寬了一部分POSIX 約束,來實現(xiàn)流式讀取文件系統(tǒng)數(shù)據(jù)的目的。
在Hadoop 的整個架構中,HDFS 在MapReduce任務處理過程中提供了對文件操作和存儲等的支持,MapReduce 在HDFS 基礎上實現(xiàn)了任務的分發(fā)、跟蹤和執(zhí)行等工作,并收集結果,兩者互相作用,共同完成Hadoop 分布式集群的主要任務。
(2)HBase
HBase 是一個高可靠性、高性能、面向列族、可伸縮的分布式存儲系統(tǒng),可以構建在HDFS 之上。HBase 不同于一般的關系數(shù)據(jù)庫,它是一個適合于非結構化數(shù)據(jù)存儲的數(shù)據(jù)庫。
(1)Drill
Drill 是一個開源實時大數(shù)據(jù)分布式查詢引擎。它兼容ANSI SQL 語法作為接口,支持對本地文件、HDFS、HBase、MongeDB 作為存儲的數(shù)據(jù)查詢,文件格式支持Parquet、CSV、TSV 以及JSON 這種無模式的數(shù)據(jù)??梢韵袷褂脗鹘y(tǒng)數(shù)據(jù)庫的表查詢一樣進行快速實時查詢。
該平臺采用Ubuntu linux 操作系統(tǒng)、Hadoop多節(jié)點集群(Hadoop Multi Node Cluster)進行構建,其目的主要解決多源異構、離線的海量數(shù)據(jù)存儲。集群規(guī)劃如圖5 所示,可由多臺服務器組成。在日后平臺需要線性升級,只需要在直接添加硬件設備,并進行相關配置即可線性提升平臺能力。
圖5 Hadoop 多結點集群結構Fig.5 Hadoop multi-node cluster architecture
將一臺服務器設置為master 主機,在HDFS 中擔任Name Node 角色,在MapReduce2 中擔任Resource Manager 角色;
其余服務器在HDFS 中擔任Data Node 角色,在MapReduce2 擔任Node Manager 角色。
Hadoop 多節(jié)點集群規(guī)劃,整理如下表格所示:
服務器名稱 YARN 內部IP HDFS Mater Date1 Date2 Date3 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 Name Node Data Node Data Node Data Node Resource Manager Node Manager Node Manager Node Manager
頂層設計的先進、合理,是一個系統(tǒng)平臺開發(fā)成功與否的關鍵。Hadoop 是大數(shù)據(jù)領域最流行的高效處理平臺,是一個集分布式計算、存儲和管理為一體的生態(tài)系統(tǒng),可有效解決傳統(tǒng)森林資源管理和分析存在數(shù)據(jù)的統(tǒng)一性、規(guī)范性、更新不及時等問題;平臺將圖形和屬性的更新結合在一起,減少了因內外業(yè)分離而產生的人為誤差;同時,基于地理信息技術的可視化空間分析,充分體現(xiàn)了林業(yè)區(qū)域統(tǒng)計數(shù)據(jù)的空間信息特征;該平臺可極大改善傳統(tǒng)林業(yè)資源統(tǒng)計數(shù)據(jù)的表現(xiàn)形式,提高林業(yè)資源統(tǒng)計數(shù)據(jù)的可視化程度,把各類森林資源信息置于統(tǒng)一的框架之下,實現(xiàn)森林資源跨地區(qū)、跨業(yè)務集成應用及數(shù)據(jù)整合,為各級林業(yè)部門實現(xiàn)科學高效的資源監(jiān)管提供科學、準確的數(shù)據(jù)參考。