一种基于Spark内存计算的粮食质量分类方法技术

技术编号:30640991 阅读:24 留言:0更新日期:2021-11-04 00:36
一种基于Spark内存计算的粮食质量分类方法,包括两个步骤,即粮库质量评价指标体系构建和基于Spark内存计算的粮食质量分类方法,具体内容如下:粮库质量评价指标体系构建,粮库中粮食(包括小麦、早籼稻谷、晚籼稻谷、籼糯稻谷、粳稻谷、粳糯稻谷)进行质量评价体系构建,然后,针对不同种类粮食存在等级严重不均衡以及数据量比较大的问题,提出了基于Spark内存计算的粮食质量分类方法,主要通过合成少数过采样技术解决每个Spark节点中类别的不均衡问题,并行计算则采用并行k最近邻方法;最后,通过不断的迭代实现每个未知粮库中不同仓中粮食的类别分类。中粮食的类别分类。中粮食的类别分类。

【技术实现步骤摘要】
一种基于Spark内存计算的粮食质量分类方法


[0001]本专利技术涉及粮食大数据云平台粮食监管领域,尤其涉及到基于Spark内存计算的粮食质量分类方法。

技术介绍

[0002]目前我国粮库粮食的质量水平检测多来自于抽样检测,即基于不同性质的粮食来对不同的粮食质量,评判标准也各有差异,这导致各地各粮库的粮食很难有统一的标准来进行评判。因此粮库管理人员容易通过陈粮化处理、转圈粮、差粮换好粮等方式来欺骗粮情监控部门。因此,如何通过粮食大数据平台以及抽检的各种粮食质量质量指标来对粮库的粮食进行质量分类是当前我国粮食粮情监管的重要组成部分。
[0003]目前的国家和地方粮食的检测方法多针对不同的粮食的质量指标的阈值来定义,如小麦质量标准判定,则通常根据容重、不完善粒比例、杂质总含量比例、矿物质含量比例、水分比例、色泽、气味等进行评判,然后针对不同等级的粮食采用不同的阈值划分,但每个粮库的粮食在某些质量标准上达到某一等级,而在某些质量指标上达不到这一等级或超过这一等级,使得阈值划分方法既耗费了大量的人力物力,同时也很难实时、准确、全面地掌握各粮库实际的粮食质量信息。
[0004]本专利技术从每个粮库中包含的稻谷以及小麦的质量入手,通过抽样采集的各粮食的质量指标来研究基于Spark内存计算的粮食质量分类方法。具体的说,通过调研江苏省政策性粮食信息服务云平台采集到粮食粮情指标数据,对不同粮食采用不同的分级标准,通过人工的界定的一些标记粮食质量分类选择范围。目前有少量的粮食质量分类方法,但真实的粮情大数据中通常存在着大量的无标记数据以及少量的人工标记的粮食粮情等级数据。各等级的粮食数量通常存在很大的差异,如高等级和低等级的粮食存在的比例较少,大多是中间比例的粮食,即各等级粮食质量分类存在严重的类别不平衡性。此外,由于粮库粮情信息随着年份季节等因素的影响,需要处理不断增长的规模、复杂性等分区,以及现代数据集的不平衡性,这些为粮库粮食质量分类带来了巨大的困扰。
[0005]由于数据量太大,无法使用标准计算机来实现粮食质量分类,高性能计算平台的兴起,如GPU和集群来实现。为此,本专利技术提出了一种基于Spark内存计算的粮食质量分类方法,通过分析每个类中存在的实例级困难来分析和理解多类不平衡数据集的特性。首先通过粮食质量评价指标体系构建实现粮食质量分类的指标构建工作,接着从多类不平衡的大数据学习方法,解决类不均衡问题和分类器学习构建等工作。
[0006]现有的Spark内存模型如下述
[0007]1堆内和堆外内存规划
[0008]Spark执行器(Executor)的内存管理建立在JVM的内存管理之上,Spark对JVM的空间(OnHeap+Off

heap)进行了更为详细的分配,以充分利用内存。同时,Spark引入了Off

heap内存模式,使之可以直接在工作节点的系统内存中开辟空间,进一步优化了内存的使用(可以理解为是独立于JVM托管的Heap之外利用c

style的malloc从os分配到的memory。
由于不再由JVM托管,通过高效的内存管理,可以避免JVM object overhead和Garbage collection的开销)。
[0009]运行于Executor中的Task同时可使用JVM(OnHeap+Off

heap)和Off

heap两种模式的内存。
[0010]·
JVM OnHeap内存:大小由
”‑‑
executor

memory”(即spark.executor.memory)参数指定。Executor中运行的并发任务共享JVM堆内内存。
[0011]·
JVM OffHeap内存:大小由”spark.yarn.executor.memoryOverhead”参数指定,主要用于JVM自身,字符串,NIO Buffer等开销。
[0012]·
Off

heap模式:默认情况下Off

heap模式的内存并不启用,可以通过”spark.memory.offHeap.enabled”参数开启,并由spark.memory.offHeap.size指定堆外内存的大小(占用的空间划归JVM OffHeap内存)。
[0013]spark对数据的核心抽象——弹性分布数据集(Resilient Distributed DataSet,简称RDD),RDD其实就是分布式的元素集合。
[0014]在spark中,对数据的所有操作不外乎创建RDD,转化已有的RDD以及调用RDD操作进行求职,而这一切的背后,spark会自动将RDD中的数据分发到集群上,并将操作并行化执行。

技术实现思路

[0015]本专利技术目的是,提出一种Spark内存计算的粮食质量分类方法。针对各种粮食的6个等级存在显著的类别不均衡性问题,本专利技术提出在每个RDD数据上采用局部数据过采样来解决,抽样可以通过添加或删除一些类别的样本,使少数类的大小更接近多数类;从而得到更科学的分类。
[0016]本专利技术的技术方案是,包括通过实施方式提供一种基于Spark内存计算的粮食质量分类方法,该方法包括两个部分,第一部分为粮库质量评价指标体系构建,第二部分为基于Spark内存计算的粮食质量分类方法,并解决粮食质量分类的不平衡问题。本专利技术的具体内容如下:
[0017]1)粮库质量评价指标体系构建
[0018]粮库中粮食(包括小麦、早籼稻谷、晚籼稻谷、籼糯稻谷、粳稻谷、粳糯稻谷)进行质量评价体系构建,具体如下:
[0019](1)粮食质量指标
[0020]主要针对粮库中每个粮食仓中:1)容重;2)不完善粒比例;3)杂质总含量比例;4)矿物质含量比例5)水分比例;6)色泽正常与否;7)气味正常与否进行采集,并上传到粮食信息服务云平台,主要将粮食质量分为6类:等级一、等级二、等级三、等级四、等级五、等级外。
[0021](2)质量指标
[0022]主要针对粮库中每个粮食(稻谷)仓中的:1)出糙率;2)整精米率;3)杂质含量百分比;4)水分含量百分比;5)黄粒米含量百分比;6)谷外糙米含量百分比;7)互混率百分比;8)色泽正常与否;9)气味正常与否进行采集,并上传到粮食信息服务云平台,质量分为6类:等级一、等级二、等级三、等级四、等级五、等级外。
[0023]2)基于Spark内存计算的粮食质量分类方法
[0024]输入的麦子或稻子分别构建Spark分类器,Spark尽可能在主内存中存储Map/Reduce步骤之间的结果。Spark能够直接在内存中复用中间结果,不要反复读取HDFS(Hadoop分布式文件系统),能够提高对分类方法的处理性能。Spark从驱动节点创建一个Spark上下文对象,然后Spark上下文从集群管理器请求资源,并获取集群本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Spark内存计算的粮食质量分类方法,其特征是,包括两个步骤,即粮库质量评价指标体系构建和基于Spark内存计算的粮食质量分类方法,具体内容如下:1)粮库质量评价指标体系构建粮库中粮食包括小麦、早籼稻谷、晚籼稻谷、籼糯稻谷、粳稻谷、粳糯稻谷进行质量评价体系构建,具体如下:(1)粮食质量指标主要针对粮库中每个粮食仓中:1)容重;2)不完善粒比例;3)杂质总含量比例;4)矿物质含量比例5)水分比例;6)色泽正常与否;7)气味正常与否进行采集,并上传到粮食信息服务云平台,主要将粮食质量分为6类:等级一、等级二、等级三、等级四、等级五、等级外。(2)质量指标针对粮库中每个粮食仓中的:1)出糙率;2)整精米率;3)杂质含量百分比;4)水分含量百分比;5)黄粒米含量百分比;6)谷外糙米含量百分比;7)互混率百分比;8)色泽正常与否;9)气味正常与否进行采集,并上传到粮食信息服务云平台,质量分为6类:等级一、等级二、等级三、等级四、等级五、等级外。2)基于Spark内存计算的粮食质量分类方法输入的麦子或稻子分别构建Spark分类器,Spark在主内存中存储Map/Reduce步骤之间的结果;Spark能够直接在内存中复用中间结果,不要反复读取HDF;Spark从驱动节点创建一个Spark上下文对象,然后Spark上下文从集群管理器请求资源,并获取集群节点上的执行器,执行器进程则管理一个或多个CPU线程上的任务计算;用弹性分布式数据集RDD数据结构来抽象数据以进行并行计算;RDD将数据集存储为分区,这些分区在一个或多个集群节点上拆分;这种抽象允许用户执行相同的操作,而不管数据是如何分布的;Map、Filter和Reduce函数直接在RDD上运行,SQL的表操作通过进一步抽象的数据帧(DataFrame)和数据集的数据结构来实现。2.根据权利要求2所述的基于Spark内存计算的粮食质量分类方法,其特征是...

【专利技术属性】
技术研发人员:曹杰王有权马福民申冬琴
申请(专利权)人:南京财经大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1