刁永洲
【摘 要】海洋測繪數據越來越多,其多樣性、異構性、復雜性等特征決定了傳統(tǒng)的數據采集、存儲及處理技術已經難以滿足需求;以Hadoop為代表的大數據技術可以很好地解決海量海洋測繪數據的上述問題。
【關鍵詞】海洋測繪;Hadoop;Hbase;數據分析;存儲
0 前言
在開發(fā)海洋資源過程中,要及時測繪海洋環(huán)境的變化就需要有效的實現對海洋測繪數據的采集、存儲和處理。我國目前正在建立一個立體化的海洋測繪系統(tǒng),勢必會使海洋測繪數據呈現從GB、TB到PB級別的增長。大數據技術的關鍵是并行存儲、分布式計算,它們可以有效解決海量海洋測繪數據存在的復雜、異構以及海量的問題。
1 大數據技術
目前應用廣泛的大數據技術主要包括Hadoop、Hbase、Hive等[1]。作為一個分布式計算平臺,Hadoop包括HDFS文件系統(tǒng)和MapReduce計算框架兩部分;HDFS是一個并行的文件系統(tǒng),提供高擴展性、高容錯性,保證用于能夠將大量低廉機器組織為一個分布式系統(tǒng),以存放并管理海量數據。
作為一個分布式文件系統(tǒng),HDFS(Hadoop Distributed File System)非常容易擴展,在存儲海量海洋測繪數據時不需要將數據存放在一個集中的服務器上,而可以分散存儲于不同的節(jié)點。HDFS的目的就是存放海量數據,所以比較適合處理TB甚至PB級別的數據。MapReduce也是Hadoop的核心組件,是一種并行計算模型,可以利用大量計算機的運算處理能力解決復雜的技術問題。
HBase是一個分布式NoSQL數據庫,和傳統(tǒng)的關系型數據庫不同,HBase產生之初的目的是處理數據量很大的表,處理能力高達10億行;HBase存儲海量數據時通常結合HDFS文件系統(tǒng)。HBase中的數據表現為稀疏的、多維度的映射表,其中行關鍵字、列關鍵字以及時間戳充當了行索引,所有數據都是字符串類型。
Hive是基于HDFS文件系統(tǒng)的數據倉庫框架,其組成部分和功能包括:ETL工具、數據存儲管理、大型數據集的查詢等;查詢是通過類似SQL的HiveQL實現的。Hive提供了命令行(CLI)及圖形界面(WebGUI)兩種用戶接口,也通過Thrift server提供了API接口。
2 海洋測繪數據分析
海洋測繪數據種類繁多,不僅包括溫度、鹽度、深度等水文信息,也包含地址信息、生物信息以及遙感信息等,這些不同類型的數據有不同的特點,在對它們進行存儲和處理時需要考慮到它們的處理需求和存儲格式。
在分析了海量的海洋測繪數據后可以發(fā)現,海洋測繪數據的特點如下[2]:(1)海量。在進行海洋測繪時會有大量的監(jiān)測點,它們收集到的數據結構復雜,而且是動態(tài)變化的,這就決定了勢必會產生大量的測繪數據,僅僅使用本地存儲難以滿足海量數據的存儲需求。(2)數據格式及結構存在差異。不同的測繪數據的記錄格式是不同的,存儲結構也隨之不同,造成測繪數據在存儲時并沒有一個統(tǒng)一的數據結構標準。
已經收集到的海量海洋測繪數據包含了海洋、地址、水文等多方面工作人員的辛勞汗水,所以在收集到的數據的積累、存儲等方面需要慎重考慮,需要結合海洋測繪數據的特點提高存儲、處理的高效性和安全性;另外,還需要考慮海洋測繪數據的穩(wěn)定性。
海洋測繪數據的種類很多,比如海底地形數據、海岸帶航空遙感數據、海岸線測量數據等,不同種類的數據格式也存在很大的差異,這就需要對這些有差異的數據進行數據加工處理,形成標準統(tǒng)一的矢量數字海圖、航空攝影正射數字影像等。
3 海洋測繪數據的存儲
采集到測繪數據后,首先會在本地保存,然后再通過Hadoop提供的API上傳到HDFS文件系統(tǒng)中。所有的測繪點都是以client身份將測繪數據上傳到HDFS,上傳成功的數據的組織形式是透明的,即HDFS分布式文件系統(tǒng)對應本地存儲的一個位置,測繪數據會不間斷的存儲到此位置,然后在固定的時間間隔上傳到HDFS,用戶并不會意識到測繪數據是存儲在本地存儲還是HDFS文件系統(tǒng)[3]。海洋測繪數據上傳到HDFS的過程如圖1所示:
4 海洋測繪數據挖掘
海洋測繪數據存儲到HDFS文件系統(tǒng)后,要從海量存儲的海洋測繪數據中找到需要的信息,就使用到數據挖掘工具。可以按照功能將數據挖掘工具分為管理層、計算層以及存儲層[4]。
管理層的作用是海洋測繪數據系統(tǒng)和用戶的交互界面,用戶能夠借助管理層對海洋測繪數據集進行操作,比如上傳、下載、瀏覽等。計算層提供常用的數據挖掘分析算法,用戶進行數據挖掘時使用的算法就來源于此。存儲層借助HDFS文件系統(tǒng)保存了海洋測繪數據相關的文件,并實現了數據冗余備份等高可用措施。
一般在進行數據挖掘前,HDFS分布式文件系統(tǒng)中并沒有相關的文件,需要先將數據上傳到HDFS中。進行數據挖掘后產生的中間文件和結果文件也保存在HDFS文件系統(tǒng)中,要想在本地訪問需要再將其下載到本地文件系統(tǒng)。
圖1 文件上傳到HDFS的流程
5 總結與展望
本文對海洋測繪過程中涉及到的大數據技術進行了介紹,其中Hadoop用戶處理海量海洋測繪數據有很大的優(yōu)勢:首先,它可以運行在大量低成本機器構成的分布式存儲系統(tǒng)上,易于擴展;其次,Hadoop也可以具備對故障的自動檢測和恢復功能,具備良好的健壯性。Hbase數據庫中的數據都是以類似字符串的形式存儲的,所以海量海洋測繪數據向HBase中拷貝時不必考慮不同數據類型的區(qū)別。
【參考文獻】
[1]張興旺,李晨暉,秦曉珠.云計算環(huán)境下大規(guī)模數據處理的研究與初步實現[J].現代圖書情報技術,2017,5(22):3.
[2]Wang D, Xiao L. Storage and Query of Condition Monitoring Data in Smart:Grid Based on Hadoop[A], Computational and Information Sciences (ICCIS), 2016 FourthInternational Conference on. IEEE[C], 2016: 211-230.
[3]謝長波.基于Hadoop遙感影像存儲與管理系統(tǒng)的設計與實現[D].昆明理工大學,2016.
[4]劉子棟.面向海洋觀測與模式數據的客戶端軟件設計與實現[D].中國海洋大學,2016.endprint