基于Hadoop的葡萄种植环境数据处理及性能测试

来源 :山东农业科学 | 被引量 : 0次 | 上传用户:nianlanzhen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着农业大数据时代的来临,传统串行程序及关系数据库已经不能满足对大数据处理的需求,使用分布式平台对数据进行处理逐渐取代传统的数据处理技术。本文使用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的主要目的是支持以流的形式访问写入的大型文件。   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.
其他文献
摘要:为进行小麦产量预测与气象灾害预警分析,利用C#语言和.NET开发平台,基于SuperMap组件式GIS的二次开发技术,设计开发了黄淮海地区冬小麦产量预测与气象灾害预警系统。该系统设置基础地理信息、数据查询与管理、冬小麦长势监测、产量估算、气象灾害预警、数据统计分析、专题图制作和系统帮助八个模块,可实现冬小麦基本农情信息查询、长势分级、产量预测及气象灾害预警等决策分析,同时可输出各类专题图等信
期刊
摘要:山东是我国的地理标志产品大省,地理条件优越,特色资源丰富,且地理标志保护工作起步较早。本文统计分析了山东省地理标志产品的数量、种类及其地区分布特征,且以山东省十大地理标志产品为例,探讨了其资源保护范围及商标使用情况。结果表明,山东省地理标志产品的数量位居全国首位,品种类型以果品和蔬菜为主,且以济宁和潍坊地区的分布较为集中。最后,探讨了山东省地理标志产品保护的意义,存在的问题,以及发展建议与展
期刊
摘要:于2013年在大田条件下研究了12种生化制剂和6种复配生化制剂对苗期受渍玉米的影响。结果表明,苯基脲(PU)处理、脱落酸(ABA)处理、抗坏血酸和6-苄基腺嘌呤复配(VC+6-BA)处理、抗坏血酸和表油菜素内酯复配(VC+NBR)处理的净光合速率、产量显著高于淹水不喷生化制剂处理(CK2),且穗重与功能叶光合速率相关性达极显著水平。说明PU、ABA、VC+6-BA和VC+NBR能快速恢复功能
期刊
摘要:研究了不同胎次及产仔季节对法系皮特兰母猪繁殖性能的影响。结果表明,分娩胎次对皮特兰母猪的健仔数、死胎数、产活仔数、死仔数、总产仔数、出生窝重、21日龄断奶母仔数、21日龄断奶总仔猪数、21日龄断奶窝重、哺乳成活率影响显著或极显著,对配种情期、怀孕天数、寄入仔猪数、寄出仔猪数、21日龄断奶公仔数影响不显著。产仔季节对皮特兰母猪的配种情期、怀孕天数、健仔数、产活仔数、总产仔数、出生窝重、21日龄
期刊
摘要:为给水生植物芡实(Euryale ferox)生物肥料的研制提供优良的菌株资源,采用保绿法和萝卜子叶增重法从芡实根际土壤筛选出2株作用效果较好的细菌Q6-2和Q67,用高效液相色谱法(High Performance Liquid Chromatography, HPLC)定量分析菌株产植物激素和有机酸的能力;通过盆栽试验研究2株细菌对苗期芡实的促生作用;结合生理生化试验和16S rDNA序
期刊
摘 要:玉米粗缩病是一种由带毒灰飞虱传播的病毒性病害,可对玉米生产造成严重影响。本文综述了玉米粗缩病的病原、病害症状、发病规律与防治手段,并对玉米粗缩病抗性育种研究进行了概述,着重介绍了玉米粗缩病抗性育种在常规育种、分子标记辅助育种及转基因育种中取得的进展。  关键词:玉米粗缩病;抗病育种;研究进展  中图分类号:S435.131.4+9-1 文献标识号:A 文章编号:1001-4942(2013
期刊
摘要:以烟包形式的复烤烟叶为试材,对比研究了电容法与电阻法测量烟叶含水率的差异,并将电容值与电阻值分别与烟叶含水率进行方程拟合。结果表明:电容法测试时,电容与烟叶含水率均呈显著相关,在1、10、100 kHz频率下,随着频率的增大,电容值对频率的敏感度降低,烟叶含水率与电容值相关方程拟合度也降低,数学模型可用对数模型表示;电阻法测试时,测试电压对电阻测量结果无显著影响,采用双杆电极测量的电阻值与烟
期刊
摘要:本文在分析我国水产养殖现状的基础上,提出了水产养殖全过程物联网监管系统构建方案,包含4个子系统:水产养殖环境监控系统、水产品健康养殖智能化管理系统、水产养殖对象个体行为视频监测系统、“气象预报式”信息服务系统,系统可实现对水产品的养殖全过程监控,使得水产品在标准化的养殖环境下生长,最终达到提高水产品的质量、降低养殖风险的目的。本文还对水产物联网系统的应用前景做了展望。  关键词:物联网;监管
期刊
摘要:为探索在猪圆环病毒2型(PCV-2)阳性猪场免疫猪圆环病毒疫苗对猪场实际临床生产中猪瘟疫苗免疫效果的影响,遂将某规模化猪场的一栋存在PCV-2感染的150头产房仔猪随机分为试验组和对照组,每组75头,试验组在14日龄免疫某进口PCV-2杆状病毒载体灭活疫苗,对照组不免疫,并分别在PCV-2疫苗免疫前和猪瘟疫苗二免后30天每组随机采血18头仔猪检测猪瘟抗体。结果显示:PCV-2疫苗免疫前两组仔
期刊
摘要:蔬菜的质量安全问题不但关系着消费者的身体健康和生命安全,还关系着整个产业的发展和农民的增收,以及我们在国内和国际市场上的竞争力。泰安泰山亚细亚食品有限公司作为全国农产品加工业的出口示范龙头企业一直关注产品品质,经过多年发展,公司的质量安全管理体系已日臻完善。本研究以其为例,从基地管理、过程控制、可追溯体系建设三个方面对其质量安全管理和控制的关键点进行介绍,以期为包括蔬菜在内的农产品加工企业提
期刊