999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop的NetCDF數據存儲研究

2022-11-23 14:24:20任曉鴿
信息記錄材料 2022年9期

任曉鴿

(許昌電氣職業學院信息工程系 河南 許昌 461000)

0 引言

近年來,計算機技術的快速發展以及互聯互通的網絡普及,數據采集和傳輸變得越來越快速、便捷,從而形成了日益龐大而復雜的數據集。網絡通用數據格式是面向海量矩陣數據的一種數據存儲格式,能夠存儲高維監測數據,但NetCDF格式數據不便共享及移植。Hadoop可實現對數據的分布式存儲,避免了傳統服務器的高成本、低共享等弊端。然而Hadoop不能直接存儲NetCDF格式數據[1]。

鑒于大數據系統缺乏對科學數據格式的支持,是數據驅動科學進一步采用大數據技術、進一步提高科學生產力的嚴重障礙。因此,本文基于Hadoop大數據框架,深入分析HDFS數據存寫、分塊架構,增加了Hadoop對NetCDF數據讀寫接口,提高了數據的可移植性和訪問效率,使HDFS能夠支持對NetCDF數據的存儲。

1 基于Hadoop的數據存儲框架

1.1 Hadoop架構

Hadoop是一個由Apache基金會開發維護的開源分布式計算與存儲框架[2],可以支持Java等程序設計語言二次開發。Hadoop框架主要應用于對海量數據的存儲與計算分析中,廣義上的Hadoop是一個完整的生態系統,包括HDFS、Map Reduce、Hive、HBase等,架構如圖1所示。而核心是HDFS文件存儲及Map Reduce分布式計算[3]。

圖1 Hadoop架構

1.2 HDFS文件系統

HDFS全稱Hadoop Distributed File System,是大數據文件系統,主要負責存儲和管理文件,幫助解決文件在底層的存儲問題[4]。HDFS支持對海量數據的存儲,并可以擴充節點以增加存儲能力。HDFS開發需求源自對流數據模式的訪問及對超大文件的處理,是分布式存儲的基礎,可在廉價的商用服務器上運行,并具有強大的容錯能力,集群中的節點出現故障不會對系統使用產生影響。HDFS具有高容錯、高效率、高可靠、高吞吐、高可伸縮、高獲得性等特點。HDFS采用主從架構,集群中包含一個NameNode節點及若干DataNode節點。NameNode作為master,負責管理文件系統命名及客戶端對文件操作,DataNode作為slave,負責管理節點數據存儲,通常一個物理節點對應一個DataNode。其架構圖如圖2所示。

圖2 HDFS系統架構

1.3 Map Reduce

Map Reduce是處理大規模數據的一種并行計算模型,由Google公司提出。該編程框架可由眾多普通服務器構成集群,把大規模的數據集分發到單個節點,采用“分而治之、化繁為簡”的思想[5],集群分節點并行處理所分發計算任務,主節點管理分節點并匯總任務結果。簡而言之,Map Reduce由Map和Reduce兩個階段組成,Map服務任務分發,Reduce服務任務匯總,即可實現分布式并行計算[6]。

1.4 Zookeeper

Zookeeper是一個分布式協調服務框架,該框架可實現對分布式應用配置項管理,提供狀態同步、集群管理等服務。Zookeeper是基于觀察者的設計模式,主要負責對數據狀態的監管,一旦變化,則通知已注冊觀察者。Zookeeper集群中節點數目往往是大于等于3的奇數,若主節點出現故障,剩余節點大于一半時,則產生新的主節點,繼續提供服務。

1.5 Hive

Hive是基于Hadoop體系的一個數據倉庫工具,是Facebook公司管理海量社交數據所研發的倉庫工具。HDFS可存儲結構化和非結構化數據,Hive處理其中的結構化數據文件,可將結構化的數據文件映射為一張數據表。另外,Hive提供有SQL查詢功能,該功能可將SQL語句轉化為Map Reduce任務進行并行計算。

1.6 HBase

HBase是面向分布式、面向列的一個開源數據庫。HBase源于Fay Chang的一篇名為《Bigtable:一個結構化數據的分布式存儲系統》論文。如Bigtable使用Google File System所提供分布式存儲,HBase在Hadoop上提供了類似Bigtable的功能。不同于一般關系型數據庫,HBase是基于列模式適用于非結構化數據存儲的數據庫。

2 基于Hadoop的NetCDF數據存儲方案

2.1 地表徑流數據應用于分布式存儲的設計分析

隨著計算機技術的快速發展以及互聯互通的網絡普及,數據采集和傳輸變得越來越快速、便捷,從而形成了日益龐大而復雜的數據集。面對海量數據,我們需要從中挖掘出一般信息來指導各種各樣決策。氣象衛星、水文監測站等數據監測設備種類繁多,因每個設備的數據采集系統接收和存儲的數據格式不一致,所以采集的數據在共享上存在相互不兼容的現象。地表徑流等科學數據為解決多源數據格式差異問題,避免因生成的數據文件格式類型不同造成的差異,以方便科研數據共享、提高研發效率,使用在國內外科研領域有一定執行標準的規范格式作為數據格式轉換的目標格式。網絡通用數據格式,全稱Network Common Data Form(NetCDF),就是面向海量矩陣數據的一種數據存儲格式,能夠存儲高維科研監測數據?,F已成為氣象、海洋等科學研究領域廣泛采用的一種通用的數據存儲格式。本文測試數據集為地表徑流數據集,就是基于NetCDF格式存儲。

地表徑流數據往往是多維的,包含時間、空間及變量等信息,數據存儲以單文件為單位。NetCDF中的維、變量、屬性需要用標準的語法結構來進行說明,數據文件結構包含如下內容:

NetCDF的數學意義相當于具有多個自變量的單值函數。該單值函數的數學表達式可描述為f(x,y,z)=value。其中,f函數中的自變量x,y,z在NetCDF中叫作維,函數值value在NetCDF中叫作變量。函數值和自變量的性質,如單位等,在NetCDF中就叫作屬性。

地表徑流數據集是由大量傳感器等觀測設備采集匯聚而成,除了具備高維度、高規模、高增速、高實時等特點外,還具備一些其他特點。首先,地表徑流數據集具有高訪問性,寫入數據后,系統要多次訪問,修改刪除操作較少,事務性要求低,而Hadoop分布式存儲框架具有較高的讀取效率,符合對該類數據的存儲。其次,地表徑流數據內容中,具有時空信息屬性。地理空間信息以經緯度來體現,時間以數據觀測采集時間點來體現。數據滿足散列性原則,可以提高多機負載均衡,降低同時空數據的熱點集中。將地表徑流數據進行分布式存儲也面臨一些問題,如對非結構化的小文件存儲,每一個文件都會在HDFS中占據一個block,這些block會在NameNode中占據一定的內存空間以便映射到DataNode,一定程度增加了NameNode的高負載,影響集群性能。因此,需要對數據文件進行預處理,以提高集群性能。

綜上所述,對于地表徑流數據的分布式存儲,Hadoop分布式存儲具有較高的效率。

2.2 地表徑流數據分布式存儲系統搭建

對于NetCDF格式的地表徑流數據,本文采用HDFS分布式存儲架構,將地表徑流數據分塊存儲于集群中的節點上,通過設置分塊大小及數據副本,提高系統容錯性,以實現對數據的高效存儲及安全維護。Unidata提供了針對NetCDF的Java庫,本文基于Java庫改進了接口對于NetCDF數據的讀取,寫入數據到HDFS集群上,如圖3所示。

圖3 NetCDF寫入HDFS

集群主客戶端對地表徑流數據集進行分片,由于地表徑流數據的時空緊密性,因此很難對一個完整的NetCDF分片時保證完整性。本文編寫自定義映射程序來分析NetCDF數據屬性等信息,依賴索引使Hadoop可以按鍵進行數據解析。首先,創建HDFSClient的實例,即Distributed File System,調用create方法創建文件;其次,Distributed File System實例對象在NameNode節點創建新文件;再次,當文件檢查通過后,返回一個FSDataOutputStream寫入數據的輸出流對象,調用create方法,就可寫入NetCDF數據到DataNode節點。

2.3 地表徑流數據分布式存儲接口設計

對于NetCDF格式的地表徑流數據,Unidata提供的NetCDF的Java庫只適用于讀取本地文件。本文在深入分析接口讀寫邏輯基礎上,復寫了函數庫的讀寫接口,該接口可以方便地對HDFS存儲文件進行讀取操作,設計流程圖如圖4所示。

圖4 HDFS下NetCDF讀取

2.4 地表徑流數據分布式存儲性能優化

分布式文件系統的存儲性能可由文件操作響應速度及可靠性來體現。對于Hadoop分布式框架來講,其節點是可擴展的,因此分布式存儲節點的拓展性可保證數據的安全可靠。而響應速度依賴于Hadoop框架的啟動時間、單節點的耗時及集群的并發數。而并發數依賴于并發任務極值數和數據分塊極值數,并發任務極值數和服務器性能呈正相關,數據分塊極值數和寫入HDFS分塊大小值呈負相關。

其中,T總為響應總時長;THadoop為Hadoop框架啟動時長;T單節點為單節點響應時長;CPU為服務器核心數;H閾值為HDFS分布式存儲框架存放文件分塊大小,相對其他影響因素,分塊大小成為可調參數。因此,可通過調整分塊大小測試其效率。通過設置分塊大小依次為32 M、64 M、128 M、256 M,并執行3次實驗,其響應速度如表1所示。

表1 HDFS數據塊參數調優實驗

對比實驗結果,數據響應時間受數據塊大小影響明顯。如果數據塊閾值設置過小,則會產生大量數據文件,從而產生大量任務,增加了任務開銷。如果數據塊閾值設置過大,則數據文件降低,任務數隨之降低,但單節點數據處理時間遞增,會耗費集群資源,降低響應速度。本實驗結果表明,將集群數據塊閾值設置為64 M時,對地表徑流數據的響應速度最快。

3 實驗分析

通過上文對該架構的需求分析、架構設計與功能實現,完成了基于Hadoop的NetCDF數據存儲架構。借助3臺16G內存、6核12線程、2T硬盤服務器搭建Hadoop集群。數據集為2012年黃河某段地表徑流數據,大小為45G。如表2所示。

表2 Hadoop分布式框架與本地文件系統效率對比

對比實驗結果,采用Hadoop分布式存儲框架處理地表徑流數據,相比傳統的本地文件存儲系統速度要快,并在數據集越大時,效率越高。如在數據集為45 G時,Hadoop分布式存儲僅僅需要26 min就可完成數據的寫入處理,而本地文件系統需要5~6 min才能完成。實驗表明,Hadoop分布式存儲框架在對地表徑流數據存儲方面效率更高,為后續科學計算提供了基礎。

4 結語

綜上所述,Hadoop分布式架構自身具有的高容錯、高效率、高可靠、高吞吐量、高可伸縮、高獲得性等優點,對于解決海量數據分布式存儲、計算具有重要意義。本文基于Hadoop的NetCDF數據存儲研究,設計了HDFS針對NetCDF數據的讀寫訪問接口,實現了NetCDF格式數據的共享及移植和用Hadoop存儲NetCDF數據。通過該方法避免了Hadoop讀寫NetCDF時預先轉換NetCDF數據所產生的大量中間數據集問題,降低了存儲開銷,提高了讀取操作響應效率,為NetCDF的分布式計算奠定了一定基礎。

主站蜘蛛池模板: 亚洲精品无码抽插日韩| 久久人午夜亚洲精品无码区| 欧美成人综合在线| 日本AⅤ精品一区二区三区日| 国产精品19p| 在线视频亚洲色图| 国产精品欧美激情| 青草视频网站在线观看| 在线精品亚洲一区二区古装| 九一九色国产| 女人18毛片水真多国产| 亚洲一级毛片在线观| 日韩无码一二三区| 国产香蕉国产精品偷在线观看| 午夜激情福利视频| 99视频只有精品| 国产杨幂丝袜av在线播放| 亚洲精品视频网| 亚洲天堂精品视频| 中文字幕av一区二区三区欲色| 国产精品亚洲综合久久小说| 尤物特级无码毛片免费| 亚洲欧美不卡视频| 中文无码精品A∨在线观看不卡| 婷婷六月天激情| 国产欧美视频一区二区三区| 人妻免费无码不卡视频| 欧美a级在线| 欧美亚洲第一页| 97久久超碰极品视觉盛宴| 国产欧美日韩另类| 伊人丁香五月天久久综合| 国产美女无遮挡免费视频| 一边摸一边做爽的视频17国产 | 伊人激情久久综合中文字幕| 日本午夜三级| 亚洲成人精品久久| 福利在线不卡一区| 91久久偷偷做嫩草影院电| 国产三级毛片| 丝袜亚洲综合| 亚洲VA中文字幕| 日本高清免费不卡视频| 亚洲国产欧洲精品路线久久| 在线不卡免费视频| 成人国产免费| 26uuu国产精品视频| 国产午夜在线观看视频| 亚洲欧美自拍中文| 国产一区在线视频观看| 片在线无码观看| 波多野结衣在线一区二区| 亚洲精品大秀视频| 99免费在线观看视频| 国产精品成人AⅤ在线一二三四| 国产女人在线观看| 亚洲成网777777国产精品| 日本免费一级视频| www.99在线观看| 92午夜福利影院一区二区三区| 亚洲欧洲综合| 青青久在线视频免费观看| 亚洲中久无码永久在线观看软件| 国产高清在线观看91精品| 青青草一区| 国产黄在线观看| 久久99国产精品成人欧美| 久一在线视频| 成人精品免费视频| 久久99精品久久久久久不卡| 国产精品视频猛进猛出| 亚洲欧美不卡| 精品国产美女福到在线不卡f| 青青青伊人色综合久久| 思思99思思久久最新精品| 日韩美毛片| 国产成年女人特黄特色大片免费| 国产亚洲美日韩AV中文字幕无码成人| 欧美a在线| 国产成人三级| 99热这里只有精品久久免费| 欧美日韩亚洲综合在线观看 |