基于Hadoop的葡萄种植大数据处理系统设计
扫描二维码
随时随地手机看文章
引言
葡萄作为一种健康食品,普遍受到消费者的喜爱。随着生活水平的提高,葡萄的食用品质及质量安全越来越受关注。葡萄品质受到温度、降水量、日照时数、海拔高度、昼夜温差、土壤性状等环境因素的影响,另外也受到品种、管理技术的影响。影响葡萄质量安全的主要因素是环境污染和农药、化肥、有机肥、生长调节剂的不规范应用。
面对目前的葡萄种植、消费状况,如何提升葡萄质量,增加效益,成为当前我国葡萄产业必须面对的问题。提升葡萄品质及安全需要从影响葡萄品质及安全的诸多因素入手,利用互联网、传感技术、物联网技术、遥感技术,收集这些影响因素数据,并进行储存、挖掘、分析、决策,这是解决问题的基本思路。但由于影响葡萄品质及安全的因素复杂,其数据来源广泛、类型多样、结构复杂,难以应用通常的方法处理和分析。而数据仓库技术的成熟及大数据技术的出现,为处理葡萄种植的庞杂数据提供了条件。本文基于传统的数据仓库以及成熟的Hadoop大数据技术框架,通过对葡萄种植大数据需求进行详细分析,设计出了葡萄种植大数据处理系统,可实现葡萄种植大数据的实时快速处理。
1技术概述
Hadoop是一个开发和运行处理大规模数据的开源分布式软件平台。基于Hadoop平台,可编写和运行分布式应用处理的大规模数据,实现在大量计算机组成的集群中对海量数据进行分布式计算。Hadoop主要由HDFs和MapReduce两个核心部分组成,HDFs提供了对数据的海量存储,而MapReduce提供了对数据的计算。Hadoop可处理任何格式的数据源,在处理半结构化和非结构化数据上,与关系型数据库相比有更好的性能,具有更灵活的处理能力。
spark是基于内存计算的大数据并行计算框架,在大数据环境下,它既可以提高数据处理的实时性,又可以保证高容错性和高可伸缩性,并且允许用户将spark部署在大量廉价硬件之上,形成集群。spark拥有HadoopMapReduce所具有的优点,与HadoopMapReduce相比,spark基于内存的运算要快l00倍以上,基于硬盘的运算也要快l0倍以上。spark实现了高效的DAG执行引擎功能,可以通过基于内存来高效处理数据流。
项目来源:南宁市科学研究与技术开发计划项目"基于大数据的葡萄智能化生产系统及配套标准化种植农艺管理技术研究与生产示范"(20l7ll24一7)
数据仓库(Datawarehouse)是一个面向主题的集成的相对稳定的反映历史变化的数据集合,其目的是构建面向分析的集成化数据环境,为企业提供决策支持。数据仓库中的数据包括元数据、粒度数据、当前详细数据、历史数据、档案数据,其数据应用主要有报表展示、即时查询、数据分析以及数据挖掘。根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:操作型数据库(oDs)、数据仓库(Dw)和数据集市(DM)。
2葡萄种植大数据处理系统的分析与设计
企业的经营活动会产生大量的原始数据,这些数据经过数据仓库的清洗、提纯、汇总,最终才能发挥它的效用,随着企业应用数据仓库技术的日渐深入,企业数据在实际应用中发挥了巨大的生产效益,但企业数据的不断增长最终会让数据仓库的数据量突破PB量级,由此引起的数据仓库硬件及维护成本在增加,而效率却在降低。Hadoop技术的出现,弥补了传统数据仓库的缺陷,它能让数据仓库无限扩展且对硬件要求不高,因此将传统的数据仓库融入Hadoop技术框架是一种解决问题的方法。
对于葡萄种植来说,要提升葡萄的质量、增加效益,采用温室大棚种植不失是一个好办法。通过温室大棚调节温室气候,可以让葡萄的生长达到最佳状态。在温室大棚中安置传感器,可对葡萄的生长环境进行多方位多点的精确采集和实时控制。通过传感器实时采集农业大棚内的空气温度、湿度、光照、土壤温度、土壤水分等环境参数,然后利用葡萄种植大数据处理系统,根据葡萄生长情况进行实时智能决策、预警预测。
葡萄种植大数据处理系统在设计上可分为4层,包括数据收集层、数据存储与计算层、数据服务层以及数据应用层。其框架图如图1所示。
图1葡萄种植大数据处理系统框架图
2.1数据收集层
该层主要通过设备接口获取葡萄种植园区传感器、监控设备、移动设备收集的数据,通过网络爬虫获取农业类科学网网页数据,通过ETL获取业务系统关系数据库数据。由于这些数据包含结构化、半结构化和非结构化特征,且可能存在错误、冗余、无用数据,所以需要进行清洗,以便可以得到干净可用的数据,为数据存储提供保障。
2.2数据存储与计算层
数据存储与计算层包括企业数据仓库、Hadoop平台以及spark分布式计算框架。企业数据仓库主要存储结构化数据,而Hadoop平台既可以存储结构化数据,也可以存储非结构化数据。数据仓库存储的数据可转存于Hadoop平台。由于数据仓库和Hadoop平台互为补充,可满足客户在不同使用场景下的业务需求。spark分布式计算框架与Hadoop平台结合可为数据查询、数据分析和数据挖掘提供平台支撑。
2.3数据服务层
该层基于spark分布式计算框架及Hadoop平台,可提供数据的管理、分析、挖掘功能:基于数据仓库可实现数据统计及报表功能。为了方便数据的共享,数据服务层还提供统一的服务接口,供平台应用及其他应用使用。
2.4数据应用层
该层可利用数据服务层的接口,可实现预警预测、知识发现、决策支持等应用。
3结语
目前,传统的数据仓库已经非常成熟,而大数据技术还在逐渐完善,这两种技术都有优缺点且互补,传统的数据仓库和Hadoop适用于不同的任务,因此Hadoop不应该视为企业数据仓库的替代品。传统的数据仓库用来保存结构化的辅助数据,而Hadoop用来存储非结构化、半结构化数据。企业级数据仓库可以专门保存对于业务用户具有重要价值的数据。两者结合可以丰富并创造各自所含数据的价值,帮助企业建立无法通过其他方式得到的战略优势。