一种基于Spark计算指标月度环比的方法和装置制造方法及图纸

技术编号:32834944 阅读:13 留言:0更新日期:2022-03-26 20:53
本申请实施例提供了一种基于Spark计算指标月度环比的方法和装置,该方法根据企业标识和月份对原始数据去重,得到所述企业标识下非缺失月份的指标数据集;根据所述企业标识和非缺失月份,识别出对应所述企业标识的起止月份;根据所述起止月份,生成所有月份;根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集;根据构建出的指标数据集,计算出企业标识对应的指标月度环比。本申请实施例补充了起止月份中的缺失月份,并将缺失月份的指标设置为0,避免了在计算月度环比时复杂的判断逻辑的同时,也避免了月份缺失导致的计算异常。份缺失导致的计算异常。份缺失导致的计算异常。

【技术实现步骤摘要】
一种基于Spark计算指标月度环比的方法和装置


[0001]本申请实施例涉及大数据处理
,尤其涉及一种基于Spark计算指标月度环比的方法和装置。

技术介绍

[0002]企业经营中经常需要计算环比的指标,用以表明报告期水平与前一水平的发展速度,以确定逐期的发展速度。
[0003]当涉及的数据量比较大时,需要迭代多次运算才能得出环比数据,不仅非常耗费计算资源,还容易造成内存溢出导致计算失败。

技术实现思路

[0004]有鉴于此,本申请实施例所解决的技术问题之一在于提供一种基于Spark计算指标月度环比的方法和装置,该方法和装置在月度指标数据存在断档的情况下,补充了起止月份中缺失月份的数据,避免了因月份指标数据缺失导致计算异常的同时,通过运用Spark框架直接在内存中计算,规避了I/O瓶颈,提高了计算运行效率。
[0005]第一方面,本申请实施例提供了一种基于Spark计算指标月度环比的方法,包括:
[0006]根据企业标识和月份对原始数据去重,得到所述企业标识下非缺失月份的指标数据集;
[0007]根据所述企业标识和非缺失月份,识别出对应所述企业标识的起止月份;
[0008]根据所述起止月份,生成所有月份;
[0009]根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集;
[0010]根据构建出的指标数据集,计算所述企业标识对应的指标月度环比。
[0011]可选地,所述根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集包括:
[0012]根据生成的所有月份,将所述所有月份中每一个月份和所述企业标识,0构成元组存入要返回的月度环比集合中,以构建包含所述起止月份的所有月份指标为0的数据集;
[0013]根据构建的包含所述起止月份的所有月份指标为0的数据集,结合所述企业标识下非缺失月份的指标数据集,得到企业标识为key,月份和指标为value的所有月份的指标数据集。
[0014]可选地,所述根据构建出的数据集,计算所述企业标识对应的指标月度环比包括:
[0015]将所述企业标识下所有月份和指标放入一个集合;
[0016]将所述集合根据日期排序;
[0017]根据排序后的集合,计算所述企业标识对应的指标月度环比。
[0018]可选地,在计算所述企业标识对应的指标月度环比之前,将环比变量设置为无穷大。
[0019]可选地,所述计算所述企业标识对应的指标月度环比包括:
[0020]在运算环比变量时,判断分母是否为0;
[0021]如果分母为0,则不作环比运算,如果分母不为0,则作环比运算,并将运算结果赋值给环比变量后,与所述企业标识和对应的月份组合起来写入数据库。
[0022]第二方面,本专利技术还提供了一种基于Spark计算指标月度环比的装置,包括去重模块,起止月份识别模块,所有月份生成模块,构建模块,计算模块,其中:
[0023]所述去重模块用于根据企业标识和月份对原始数据去重,得到所述企业标识下非缺失月份的指标数据集;
[0024]所述起止月份识别模块用于根据所述企业标识和非缺失月份,识别出对应所述企业标识的起止月份;
[0025]所述所有月份生成模块用于根据所述起止月份,生成所有月份;
[0026]所述构建模块用于根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集;
[0027]所述计算模块用于根据构建出的指标数据集,计算所述企业标识对应的指标月度环比。
[0028]可选地,所述构建模块具体用于:
[0029]根据生成的所有月份,将所述所有月份中每一个月份和所述企业标识,0构成元组存入要返回的月度环比集合中,以构建包含所述起止月份的所有月份指标为0的数据集;
[0030]根据构建的包含所述起止月份的所有月份指标为0的数据集,结合所述企业标识下非缺失月份的指标数据集,得到企业标识为key,月份和指标为value的所有月份的指标数据集。
[0031]可选地,所述计算模块具体用于:
[0032]将所述企业标识下所有月份和指标放入一个集合;
[0033]将所述集合根据日期排序;
[0034]根据排序后的集合,计算所述企业标识对应的指标月度环比。
[0035]可选地,在计算模块计算所述企业标识对应的指标月度环比之前,将环比变量设置为无穷大。
[0036]可选地,所述计算模块具体用于:
[0037]在运算环比变量时,判断分母是否为0;
[0038]如果分母为0,则不作环比运算,如果分母不为0,则作环比运算,并将运算结果赋值给环比变量后,与所述企业标识和对应的月份组合起来写入数据库。
[0039]由以上技术方案可见,本申请实施例补充了起止月份中的缺失月份,并将缺失月份的指标设置为0,避免了在计算月度环比时复杂的判断逻辑的同时,也避免了月份缺失导致的计算异常。
附图说明
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获
得其他的附图。
[0041]图1为本申请实施例中一种基于Spark计算指标月度环比的方法流程图;
[0042]图2为本申请实施例中一种基于Spark计算指标月度环比的装置结构图。
具体实施方式
[0043]为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
[0044]Apache Spark是专门为大规模数据处理而设计的计算引擎。Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark在拥有Hadoop MapReduce所具有的优点的同时,其中间输出结果还可以保存在内存中,不需要读写HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),因此Spark是更适用于需要迭代场景的算法。
[0045]基于Spark的这一特点,本专利技术提供了一种基于Spark计算指标月度环比的方法,结合图1,该方法包括以下步骤:
[0046]S100:根据企业标识和月份对原始数据去本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Spark计算指标月度环比的方法,其特征在于,包括:根据企业标识和月份对原始数据去重,得到所述企业标识下非缺失月份的指标数据集;根据所述企业标识和非缺失月份,识别出对应所述企业标识的起止月份;根据所述起止月份,生成所有月份;根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集;根据构建出的指标数据集,计算所述企业标识对应的指标月度环比。2.根据权利要求1所述计算指标月度环比的方法,其特征在于,所述根据生成的所有月份,结合所述企业标识下非缺失月份的指标数据集,构建出企业标识为key,月份和指标为value的所有月份的指标数据集包括:根据生成的所有月份,将所述所有月份中每一个月份和所述企业标识,0构成元组存入要返回的月度环比集合中,以构建包含所述起止月份的所有月份指标为0的数据集;根据构建的包含所述起止月份的所有月份指标为0的数据集,结合所述企业标识下非缺失月份的指标数据集,得到企业标识为key,月份和指标为value的所有月份的指标数据集。3.根据权利要求2所述的计算指标月度环比的方法,其特征在于,所述根据构建出的数据集,计算所述企业标识对应的指标月度环比包括:将所述企业标识下所有月份和指标放入一个集合;将所述集合根据日期排序;根据排序后的集合,计算所述企业标识对应的指标月度环比。4.根据权利要求1或2或3所述的计算指标月度环比的方法,其特征在于,在计算所述企业标识对应的指标月度环比之前,将环比变量设置为无穷大。5.根据权利要求1所述的基于Spark计算指标月度环比的方法,其特征在于,所述计算所述企业标识对应的指标月度环比包括:在运算环比变量时,判断分母是否为0;如果分母为0,则不作环比运算,如果分母不为0,则作环比运算,并将运算结果赋值给环比变量后,与所述企业标识和对应的月份组合起来写入数据库。6.一种基于Spark计算指标月...

【专利技术属性】
技术研发人员:谢冬王建健栾军王巍陈勇郝全东
申请(专利权)人:爱信诺征信有限公司
类型:发明
国别省市:

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

1