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