一种适用于大数据的统计任务快速生成系统及方法_3

文档序号:9200394阅读:来源:国知局
信发送成功次数原子计数器/短信发送总次数统计指标)X100%。
[0034](C)短信发送失败率,由I个原子计数器和一个统计指标构成,表达式为:(短信发送失败次数原子计数器/短信发送总次数统计指标)X100%。
[0035]如果在统计指标生成器仓库里面存在对应的统计指标器,就直接从库里面调用,如果没有,就新建统计指标生成器,保存到统计指标生成器仓库里面。
[0036](4)定义维度选择器。根据数据源适配器定义的数据源属性,把城市的字段调用作为统计维度。
[0037](5)定义报表生成器。本实施例中定义导出为excel报表。
[0038](6)定义调度器。定义该任务运行的预设调度条件是每天凌晨零点开始运行,调度范围是前一天的短信数据。例如时间是“20150415”。如果在调度器仓库里面存在这个调度器,就直接从库里面调用,如果没有,就新建调度器,保存到调度器仓里面。
[0039](7)代码生成器。代码生成器根据上面的模块定义的属性,自动生成mapreduce代码或impala执行的代码或sql语句,以及调度信息等,再通过oozie来调度执行这个任务。如果hadoop采用impala或shark作为hadoop的统计引擎的话,可以直接生成sqL.生成sql语句的过程如下:
(a)根据用户配置的维度选择器得到city的维度,生成统计的维度代码: sql=select city ,
(b)根据用户配置的原子计数器得到分别代表短信发送成功和失败的原子计数器,生成原子对象的代码:
sum(case when cdr_type=l then I else 0) as sue,sum (case when cdr—typeOl then I else 0) as fail,
(c)根据用户配置的统计指标生成器得到短信发送总次数,短信发送成功率和短信发送失败率,生成对应统计指标代码:
(fail+suc) as smssum,sue / smssum as ra—sue,fail / smssum as ra—fail,
(d)根据用户配置的数据源适配器得到bssap的数据源,系统生成表名称代码,然后再根据维度选择器,得到统计分组的代码:
from bssapgroup by city
(e)根据用户配置的调度器得到预设调度条件,本实施例指开始调度的时间,进而生成调度范围代码:
where time=, 20150415,
(f)把上述步骤生成的sql语句提交给hadoop的impala或spark引擎里面执行,最后把运行的结果,导出到excel文件中。生成的完整sql语句如下:
sql=select city ,
sum(case when cdr_type=l then I else 0) as sue,sum (case when cdr—typeOl then I else 0) as fail,
(fail+suc) as smssum,sue / smssum as ra—sue,fail / smssum as ra—failfrom bssapgroup by citywhere time=, 20150415,
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。
【主权项】
1.一种适用于大数据的统计任务快速生成系统,其特征在于,包括: 数据源适配器,用于将统计任务的数据源转换成统一的存储文件格式; 原子计数器,用于对统计任务进行统计计数; 统计指标生成器,用于根据统计任务的统计指标生成对应的计算公式; 维度选择器,用于提供对统计任务的数据源的统计维度; 报表生成器,用于根据用户选择的报表类型生成对应的报表格式; 调度器,用于设定统计任务的预设调度条件和调度范围; 代码生成器,用于根据数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器自动生成统计任务的代码,并在符合调度器的预设调度条件时,自动执行该代码。2.根据权利要求1所述的一种适用于大数据的统计任务快速生成系统,其特征在于,所述根据数据源适配器、原子计数器、统计指标生成器、维度选择器和报表生成器自动生成统计任务的代码,并在符合调度器的调度指令时,自动执行该代码,其具体为: Al、根据维度选择器获得统计任务的统计维度后生成相应的代码; A2、根据原子计数器获得统计任务的统计计数情况并生成相应的代码; A3、根据统计指标生成器获得统计指标的计算公式后生成对应的执行代码; A4、根据数据源适配器生成数据源的名称代码,进而结合维度选择器生成统计任务的具体统计分组的代码; A5、获取调度器所设定的调度范围后,生成对应的限定调度范围的代码; A6、判断是否符合调度器的预设调度条件,若是,则自动执行步骤A1~A5所生成的代码并将代码运行结果按照报表生成器所设定的报表格式生成对应的报表。3.根据权利要求1所述的一种适用于大数据的统计任务快速生成系统,其特征在于,所述代码生成器自动生成的统计任务的代码包括MapReduce代码、impala执行代码或sql语句。4.一种适用于大数据的统计任务快速生成方法,其特征在于,包括: 51、获取统计任务的数据源并对数据源属性进行定义,生成对应的数据源适配器; 52、根据统计任务的统计计数需求,定义对应的原子计数器; 53、根据统计任务的统计指标,结合原子计数器定义统计指标的计算公式,生成对应的统计指标生成器; 54、根据数据源属性定义数据源的统计维度,生成对应的维度选择器; 55、根据用户设定的统计任务的报表类型定义报表格式,生成对应的报表生成器; 56、定义统计任务的预设调度条件和调度范围,生成调度器; 57、获取前述步骤所生成的数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器后,自动生成统计任务的代码,并且在符合调度器的预设调度条件时,自动执行该代码。5.根据权利要求4所述的一种适用于大数据的统计任务快速生成方法,其特征在于,所述步骤SI,其具体为: 获取统计任务的数据源并对数据源属性进行定义,判断该数据源属性是否存在对应的数据源适配器,若是,则直接调用该数据源适配器,否则,根据定义的数据源属性建立新的数据源适配器。6.根据权利要求4所述的一种适用于大数据的统计任务快速生成方法,其特征在于,所述步骤S4,其具体为: 判断统计任务的统计指标是否存在对应的统计指标生成器,若是,则直接调用该统计指标生成器,否则,结合原子计数器定义统计指标的计算公式后,根据定义的计算公式生成对应的统计指标生成器。7.根据权利要求4所述的一种适用于大数据的统计任务快速生成方法,其特征在于,所述步骤S7包括: 571、根据维度选择器获得统计任务的统计维度后生成相应的代码; 572、根据原子计数器获得统计任务的统计计数情况并生成相应的代码; 573、根据统计指标生成器获得统计指标的计算公式后生成对应的执行代码; 574、根据数据源适配器生成数据源的名称代码,进而结合维度选择器生成统计任务的具体统计分组的代码; 575、获取调度器所设定的调度范围后,生成对应的限定调度范围的代码; 576、判断是否符合调度器的预设调度条件,若是,则自动执行步骤S71~S75所生成的代码并将代码运行结果按照报表生成器所设定的报表格式生成对应的报表。8.根据权利要求4所述的一种适用于大数据的统计任务快速生成方法,其特征在于,所述步骤S7中自动生成的统计任务的代码包括MapReduce代码、impala执行代码或sql语句。
【专利摘要】本发明公开了一种适用于大数据的统计任务快速生成系统及方法,该方法包括分别生成数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器、调度器和代码生成器后,自动生成统计任务的代码,并在符合调度器的预设调度条件时,自动执行该代码。本发明通过将统计任务分解并定义成数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器等几个部分后,用户在创建自己任务的时候,可任意拖拽自己需要统计的指标,然后根据用户配置的标准模型,自动生成统计代码。本发明可以把复杂的云计算过程简单化,模块组件化,快速地生成统计任务代码,大大地提高了开发效率,可广泛应用于大数据统计行业中。
【IPC分类】G06F17/30
【公开号】CN104915378
【申请号】CN201510234208
【发明人】别志铭, 张健明, 张勇鹏, 王旭, 吴楠, 王耘, 喻大发
【申请人】珠海世纪鼎利通信科技股份有限公司
【公开日】2015年9月16日
【申请日】2015年5月8日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1