论文部分内容阅读
随着农业现代化水平的不断提高,农业领域的信息数据呈几何级递增,逐渐满足了大数据的四V特征,形成了农业大数据。农业大数据还具有一些特有的特征,如我国地大物博,土壤、作物、病虫等类型繁多,它们之间的关系和影响复杂,再加上存储介质的多样性,使得农业大数据还具有动态、多维、大量、不确定、不完整等特征,这些特征大大增加了对其进行数据处理和数据存储的难度。数据挖掘系统是对数据进行存储并利用数据挖掘等手段从数据中获得知识的一种系统架构。随着农业大数据的到来,传统的数据挖掘系统已经不能很好的适应其各种特性。系统中的数据挖掘模块和底层的数据存储架构在处理海量农业数据时存在存储能力不足及资源处理效率不高等问题。如何设计数据挖掘系统的架构及其中的数据挖掘模块以高效的应对农业大数据的发展是一个重要的问题。为了应对大数据的处理,谷歌提出了一种商业计算模型——Map/Reduce,它利用key-value的数据结构和Map与Reduce两个处理函数将复杂的计算任务分布在由大量计算机构成的计算节点上,利用其分布式的并行处理架构可以高速的处理海量的数据。Hadoop是Map/Reduce计算模型的一个实现,是用于构建分布式系统的基础架构。使用Hadoop框架有利于我们方便、快速的利用Map/Reduce实现计算机集群。并且在Hadoop平台上,还可以采用HDFS(分布式文件系统)来实现超大文件的存储和容错。本文在分析农业数据特征和处理过程的基础上,选取中国农科院提供的农业数据作为研究对象设计出基于Hadoop平台的农业数据挖掘系统,主要做了如下工作:在系统架构方面设计出高效,易扩展的分布式数据挖掘系统框架。在系统算法层面,主要对CART(分类回归树)算法进行了如下改进:1.利用系统的Map/Reduce编程模型设计了新的数据结构,将该算法中的最佳属性选择和同一层节点的分裂同时进行,大大减少了数据集的处理时间;2.消除了重复计算和不必要计算,减少了计算量,有效的提升了系统的效率;3.对计算中的连续属性表和离散属性表执行预排序,有效的减少了离散属性的分裂时间。在数据存储方面,利用HDFS进行大数据的分布式存储。最后利用农科院提供的农业数据构建了一些大型数据集,对系统效率进行测试和分析。测试表明,算法可以成功的并行运行在系统中,并且在对算法改进后大大减少了数据处理的时间,系统效率得以提高。