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

基于Hadoop的葡萄種植環境數據處理及性能測試

2015-09-09 18:44:19袁偉羅麗瓊趙路等
山東農業科學 2015年8期

袁偉 羅麗瓊 趙路等

摘要:隨著農業大數據時代的來臨,傳統串行程序及關系數據庫已經不能滿足對大數據處理的需求,使用分布式平臺對數據進行處理逐漸取代傳統的數據處理技術。本文使用Hadoop分布式平臺,結合非關系型數據庫Hbase和并行編程模型MapReduce,對香格里拉地區釀酒葡萄種植區的環境數據的存儲和計算進行了設計,測試了Hbase對數據的存儲性能以及MapReduce用于回歸分析的性能,并將MapReduce并行計算程序與單機串行程序進行了性能對比。結果表明,通過對Hbase進行合適的配置,數據寫入時間隨著節點的增加而減少,存儲性能具有良好的擴展性;MapReduce在處理少量數據時效率低于串行程序,但隨著數據量增加,其計算效率明顯優于串行程序。

關鍵詞:Hadoop;Hbase;MapReduce;性能測試;農業大數據

中圖分類號:S126+S663.104+.4 文獻標識號:A 文章編號:1001-4942(2015)08-0119-05

Abstract With the advent of the era of agricultural big data, the traditional serial program and relational data base could not meet the need for processing big data, which was gradually replaced by the distributed computing platform. In this paper, the Hadoop distributed platform combined with the non-relational data base Hbase and the parallel programming model MapReduce was used to study the storage and calculation of environmental data from Shangri-la grape growing region. The performance of Hbase for data storage and MapReduce for regression analysis was tested, and the property of parallel calculating of MapReduce was compared with that of the traditional calculating method of serial storage. The results showed that the data writing time of Hbase decreased with the increase of node through appropriate configuration, and its storage property possessed better expansibility; the processing efficiency of MapReduce was lower for a few data, while that was obviously superior to the serial program for large amounts of data.

Key words Hadoop; Hbase; MapReduce; Performance test; Agricultural big data

近年來,大數據一詞越來越多的被提及,被用來描述和定義信息爆炸時代產生的海量數據。數據已經成為與自然資源、人力資源同樣重要的戰略資源。目前,我國大數據已經運用到醫療業、制造業、交通業等不同行業[1,2]。農業數據由結構化數據和非結構化數據構成,數據量大、涵蓋領域廣、數據類型多,屬于典型的大數據[3]。現階段,大量的科研人員也已經意識到農業大數據的研究價值,投入到農業大數據分析、處理過程的優化中。基于大數據的背景下,傳統的關系數據庫以及串行程序已不能滿足對大數據處理的需求[4]。隨著Google提出云計算這一技術概念,其三大核心技術GFS、MapReduce和Bigtable為大數據的管理提供了解決方案[5]。

眾多企業及科研單位已經開展了農業大數據研究工作。土壤抽樣分析服務商Solum致力于使用數據分析技術來確定化肥的投入量問題,通過對農業大數據的分析來幫助農民提高產出、降低成本[2];跨國農業生物技術公司Monsanto通過分析海量的天氣數據來預測未來可能對農業生產造成破壞的各種天氣,農民可以根據這種預測來選擇相應的農業保險,以降低惡劣天氣對農業生產造成的影響[6];2013年6月,國內第一個農業大數據產業技術創新戰略聯盟在山東農業大學成立,校長溫孚江指出,目前國內的大數據研究雖然剛剛起步,但“農業大數據”的研究已經十分領先[1]。

Apache軟件基金會借鑒GFS和MapReduce設計思想開發了Hadoop分布式系統基礎架構,作為GFS和Google MapReduce的開源實現。本文結合香格里拉地區釀酒葡萄8個種植點的環境數據,運用Hadoop下的Hbase作為數據庫對數據進行存儲、MapReduce編程模型對數據進行計算,對其數據存儲及計算性能進行測試,并與傳統串行解決方案進行對比,以探討分布式計算相對于傳統串行計算的優勢。

1 相關理論基礎

1.1 HDFS分布式文件系統

Hadoop作為一種開源架構,適合在廉價機器上對各種資源數據進行分布式存儲和分布式管理[5]。其核心架構為HDFS與MapReduce。Hadoop集群包括一個Namenode節點和多個Datanode節點,Namenode在HDFS內部提供元數據服務,Datanode為HDFS提供存儲塊。存儲在HDFS中的文件被分成塊,然后將這些塊分布到集群中的各個節點。HDFS的主要目的是支持以流的形式訪問寫入的大型文件。endprint

1.2 MapReduce計算模型及Hbase數據庫

MapReduce是用于并行處理大數據集(基于HDFS之上)的軟件框架,借用了函數式編程思想,把海量數據集的常見操作抽象為Map和Reduce兩種集合操作[4],當MapReduce在運行處理大數據集任務時,由JobTracker確定如何創建其他TaskTracker從屬任務,為特定節點的每個文件塊指派唯一的子任務,當每個子任務運行完成后由TaskTracker將狀態和完成信息報告給JobTracker[8]。

Hbase作為Hadoop的一個子項目,是一個分布式的、面向列的開源數據庫[9]。Hbase數據表中的數據由行鍵(RowKey)、時間戳(Timestamp)、列族(ColumnFamily)組成。行鍵用來標識某個表中唯一的一條記錄,列族可以由任意多個列組成,數據插入時每條數據會獲得一個時間戳,用來標識某條數據的版本號,創建表時毋須指定列的個數,即Hbase支持對列的動態擴展,因此Hbase非常適合于存儲非結構化數據。

2 數據存儲及性能測試

選取云南省迪慶藏族自治州香格里拉縣和德欽縣8個葡萄種植點作為研究對象,每個種植點通過已安裝的數據采集設備進行環境數據采集,采集的環境數據包括溫度、濕度、光照度、降雨量、輻射量、紫外線強度共6個環境因子。

2.1 數據在Hbase中的存儲設計

向Hbase數據表寫入數據時,Hbase默認的寫緩存區大小為2 M,AutoFlush屬性為True。不作更改時,當調用Hbase的put方法插入數據時,每執行一條put命令,數據表就執行一次更新,嚴重影響插入效率。需設置合適的寫緩存區大小(setWriteBufferSize屬性)并將setAutoFlush屬性設置為false,這樣只有當put填滿客戶端寫緩存時,才向Hbase服務端發起寫請求,能極大提高寫效率。

影響Hbase插入性能的另一個重要因素是Region的預分區。當創建一個新表時,Hbase默認只有一個Region[10],只有當數據量增長到一定程度才會調用split方法將Region分裂,由于split方法非常耗時耗資源,并且會使服務端有一段時間的停頓,所以這也會極大影響寫入效率。為解決這一問題,需要對表的行鍵進行設計(表1)。Region有兩個重要屬性StartKey和EndKey,表示此Region所維護的RowKey的范圍,寫入的數據首先判斷屬于哪個Region,然后進行對應的寫入操作。因此為了使寫數據過程中每個節點提供的請求處理數量盡可能均等,行鍵的前面用LocalID(1~8)填充,后面連接格式化后的時間參數。并根據行鍵的特點,創建表時預分8個Region。行鍵的組成如下:

2.2 Hbase寫入數據性能測試

本測試在云南農業大學基礎與信息工程學院計算機公共實驗室進行,云計算環境配置有9個節點的Hadoop集群。每個節點所用的操作系統均為Ubuntu14.04,JDK版本1.8,Hadoop版本2.2.0,Hbase版本0.96.2,所用CPU為IntelcoreI3370型號。集群中各個節點IP、主機名如圖1所示,Master為主節點,Node1~8為從節點。

選取8個監測點5~11月份采集到的全部環境數據進行寫入Hbase測試,數據量為100萬條。分別采用Hbase默認配置(簡稱“默認”)、未預分Region但設置緩存區為6 M且設置AutoFlush為false(簡稱“未預分Region”)、預分8個Region并設置緩存區為6 M且設置AutoFlush為false(簡稱“預分Region”)三種實驗方案,分別運行于3、5、7、9個節點的Hadoop集群中,得出節點個數與寫入時間的折線圖(圖2),可見,使用默認配置寫入效率較低,設置自動Flush為false后,插入效率有明顯提升,但這兩種方案隨著節點的增加,寫入效率無明顯提升;第三種方案通過預分配Region,寫入效率較前兩種方案效率更高,且隨著節點數的增加,所用的時間逐漸減少。結果表明,在實際寫入數據過程中,根據RowKey范圍設置合適的Region個數,可不斷提高數據寫入效率,同時也表明了Hbase集群具有良好的擴展性。

為進一步研究預分配Region與未分配Region寫入數據的效率差異,在原數據基礎上通過生成隨機數據增加數據量,測試的數據量分別為100萬、300萬、500萬、700萬條,運行于9個節點的Hadoop集群中,得出數據量與運行時間的折線圖(圖3),可見,當不進行Region的預分配時,隨著數據量的增加,曲線的斜率相差很小,說明寫入數據的時間隨數據量的增加呈線性增長,數據寫入性能基本沒有提高;而使用預分配Region方式寫入數據,曲線斜率逐漸減小,即時間的增長率降低,說明寫入的數據量越大,Hbase寫入性能越高。

3 數據計算及性能測試

3.1 基于MapReduce的線性回歸分析原理

回歸分析是確定兩種或兩種以上變量間聯系的一種統計分析方法,可分析變量之間相關性的具體形式,并用數學模型來表現。按照自變量的多少可分為一元回歸分析和多元回歸分析。其中一元回歸分析方程可表示為y=bx+a形式,根據最小二乘法原理[11]估計參數a、b的公式如(2)式:

MapReduce的核心是Map過程和Reduce過程,兩過程中的數據傳遞都是以鍵值對形式存在。使用MapReduce編程模型計算回歸方程,Map過程讀取Hbase表中數據,形成鍵值對,其中Key1表示行鍵,Value1表示相應環境因子。Map函數對進行切分生成所需日期格式的Key2,形成并傳遞給Reduce函數,Reduce函數對具有相同Key2的一組list執行一次Reduce過程,計算出(2)式中相關參數并存放到Result表中,再利用串行程序得出相應回歸方程。

3.2 MapReduce回歸分析性能測試

本測試以溫度與果實大小的回歸分析為例。其中溫度數據存于Temper表中,果實數據存于Fruit表中。以天為單位,使用MapReduce程序讀取Temper表中溫度數據并計算每天平均氣溫和有效積溫,將生成的結果存入Test表中;再使用MapReduce程序根據Test和Fruit表中數據計算(2)式中未知參數,得出a、b的數值進而得出回歸方程。

Temper表中初始數據為100萬條,以100萬條為單位遞增生成8組測試數據,分別在3節點集群和6節點集群中分析不同數據量對運行時間的影響,結果如圖4所示,可見,曲線增長的趨勢一直減小,即所用時間增長率減小,說明MapReduce更擅長處理較大的數據量;當數據量達到400萬條時,6節點集群比3節點集群對數據的處理時間明顯減小,也說明了MapReduce具有較好的擴展性。

為了對比Hadoop集群和單機對數據處理的能力,分別使用50萬到3 000萬的數據運行于單機和6節點的Hadoop集群上,結果如圖5所示,當數據量小于300萬條時使用單機模式比集群模式效率更高,主要是因為集群初始化作業、中間文件生成、傳遞過程占用了大量的時間比例,此時MapReduce運算性能的優勢沒有得到發揮;當數據量超過2 000萬條時,單機運行時間有加大趨勢,此時主要受內存大小影響;當數據量超過800萬條時,MapReduce并行計算所需時間上升趨勢逐漸減少,并行計算的優勢開始發揮,說明隨著數據量的增加,并行計算要優于串行計算。

4 總結與展望

在Hadoop云環境下進行數據的寫入和計算效率測試的結果表明,通過進行合適的配置,Hbase的數據寫入及查詢計算具有了良好的擴展性,且隨著數據量的增大,Hbase對數據的存儲能力也會增強。利用MapReduce編程模型對釀酒葡萄的環境因子與果實參數進行回歸分析,在處理少量數據時,其效率低于串行程序;但隨著數據量的增大,MapReduce程序比串行程序具有更好的計算性能。

今后可根據具體需求開發可視化系統界面,實現對數據存儲、查詢、計算等功能的統一化管理,并研究多環境因子對葡萄果實生長發育的影響,以期綜合全面地為葡萄種植戶提供葡萄栽培合理化指導和科學的數據支持。

參 考 文 獻:

[1] 溫孚江.農業大數據研究的戰略意義與協同機制[J].高等農業教育,2013(11):3-6.

[2] 張浩然,李中良,鄒騰飛,等.農業大數據綜述[J].計算機科學,2014(S2):387-392.

[3] 李秀峰,陳守合,郭雷風.大數據時代農業信息服務的技術創新[J].中國農業科技導報,2014(4):10-15.

[4] 何清. 大數據與云計算[J].科技促進發展,2014(1):35-40.

[5] 謝桂蘭,羅省賢. 基于Hadoop MapReduce模型的應用研究[J].微型機與應用,2010(8):4-7.

[6] Monsanto Acquires The Climate Corporation[EB/OL].[2014-03-19]. http://www.monsanto.com/features/pages/monsanto-acquires-the-climate-corporation.aspx.

[7] 楊鋒,吳華瑞,朱華吉,等. 基于Hadoop的海量農業數據資源管理平臺[J].計算機工程,2011(12):242-244.

[8] 郝樹魁. Hadoop HDFS和MapReduce架構淺析[J]. 郵電設計技術,2012(7):37-42.

[9] 馮曉普. HBase存儲的研究與應用[D].北京:北京郵電大學,2014.

[10]康毅. HBase大對象存儲方案的設計與實現[D].南京:南京大學,2013.

[11]鄒樂強.最小二乘法原理及其簡單應用[J].科技信息,2010(23):282-283.endprint

主站蜘蛛池模板: 91久久天天躁狠狠躁夜夜| 国产免费怡红院视频| 婷婷五月在线视频| 国产欧美日韩资源在线观看| 亚洲第一视频网| 91精品最新国内在线播放| 国产亚洲精品yxsp| 伊人婷婷色香五月综合缴缴情| 国产欧美日韩资源在线观看| 亚洲国产清纯| 欧美福利在线| 日韩欧美国产三级| 亚洲综合色在线| 久久人搡人人玩人妻精品| 在线视频亚洲欧美| 免费国产高清精品一区在线| 日韩欧美国产另类| 狠狠躁天天躁夜夜躁婷婷| 国产黄在线观看| 久久久久久久97| 国产精品欧美日本韩免费一区二区三区不卡 | 国产一级毛片网站| 99久久成人国产精品免费| 欧美成人午夜在线全部免费| 丝袜无码一区二区三区| 国国产a国产片免费麻豆| 国产爽歪歪免费视频在线观看| 丰满人妻中出白浆| 最新亚洲av女人的天堂| 国产91在线免费视频| 日韩一区二区三免费高清| 久精品色妇丰满人妻| 中文字幕永久在线看| 久久黄色小视频| 亚洲福利视频一区二区| 一本视频精品中文字幕| 四虎影视永久在线精品| 97成人在线视频| AV无码无在线观看免费| 欧美综合在线观看| 午夜毛片免费看| 亚洲色精品国产一区二区三区| 亚洲高清资源| 久久久精品国产SM调教网站| 有专无码视频| 国产精品网曝门免费视频| 国产视频欧美| 中日韩欧亚无码视频| 在线亚洲精品福利网址导航| 国产在线精彩视频二区| 最新日韩AV网址在线观看| 午夜视频免费试看| 一级毛片在线免费视频| 精品自窥自偷在线看| 四虎永久在线| 最新国产在线| 思思99思思久久最新精品| 亚洲一级毛片在线观| 久草视频精品| 2018日日摸夜夜添狠狠躁| 青青青视频91在线 | 久久久91人妻无码精品蜜桃HD| 香港一级毛片免费看| 色屁屁一区二区三区视频国产| 久久黄色影院| 1769国产精品视频免费观看| 永久成人无码激情视频免费| 亚洲高清中文字幕| 无码福利日韩神码福利片| 国产欧美中文字幕| 无码高潮喷水在线观看| 动漫精品啪啪一区二区三区| igao国产精品| 国产91小视频在线观看| 亚洲欧美一区二区三区麻豆| 国产幂在线无码精品| 久久频这里精品99香蕉久网址| 日韩小视频网站hq| 国产在线视频福利资源站| 久久96热在精品国产高清| 狠狠干欧美| 伊人精品成人久久综合|