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

文档序号:9200394阅读:359来源:国知局
一种适用于大数据的统计任务快速生成系统及方法
【技术领域】
[0001]本发明涉及数据统计领域,特别是涉及一种适用于大数据的统计任务快速生成系统及方法。
【背景技术】
[0002]为了便于下文的描述,首先给出以下名字解释:
hadoop:一种分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序;
parquet:用于hadoop的列存储文件格式;
MapReduce:一种编程模型,用于大规模数据集的并行运算;
impala:impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据,最大的优点是快速。
[0003]spark:Spark是一个由加州大学伯克利分校开发的一个分布式数据快速分析项目。它的核心技术是弹性分布式数据集(Resilient distributed datasets),提供了比Hadoop更加丰富的MapReduce模型,可以快速在内存中对数据集进行多次迭代,来支持复杂的数据挖掘算法和图计算算法。
oozie:0ozie是一种Java Web应用程序,它运行在Java servlet容器中,并使用数据库来存储以下内容:
I工作流定义
I当前运行的工作流实例,包括实例的状态和变量
Oozie工作流是放置在控制依赖DAG (有向无环图Direct Acyclic Graph)中的一组动作(例如,Hadoop的Map/Reduce作业、Pig作业等),其中指定了动作执行的顺序。Oozie为以下类型的动作提供支持:Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie的子工作流。
[0004]sql:structured query language,结构化查询语言。
[0005]随着社会的发展,科技的进步,数据发展进行大数据时代、云计算时代,通过对各种数据进行合理、科学的统计,从而获得各种统计指标,用于分析各种数据的本质,可以对数据进行有效管理。目前技术中,基于大数据计算各种统计指标,大都是通过采用Java开发mapreduce等方式来实现的,但是这种方式开发和调试过程非常复杂,开发难度大,而且重用度和开发效率非常低下,已经无法适应大数据发展进程。

【发明内容】

[0006]为了解决上述的技术问题,本发明的目的是提供一种适用于大数据的统计任务快速生成系统,本发明的另一目的是提供一种适用于大数据的统计任务快速生成方法。
[0007]本发明解决其技术问题所采用的技术方案是:
一种适用于大数据的统计任务快速生成系统,包括: 数据源适配器,用于将统计任务的数据源转换成统一的存储文件格式;
原子计数器,用于对统计任务进行统计计数;
统计指标生成器,用于根据统计任务的统计指标生成对应的计算公式;
维度选择器,用于提供对统计任务的数据源的统计维度;
报表生成器,用于根据用户选择的报表类型生成对应的报表格式;
调度器,用于设定统计任务的预设调度条件和调度范围;
代码生成器,用于根据数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器自动生成统计任务的代码,并在符合调度器的预设调度条件时,自动执行该代码。
[0008]进一步,所述根据数据源适配器、原子计数器、统计指标生成器、维度选择器和报表生成器自动生成统计任务的代码,并在符合调度器的调度指令时,自动执行该代码,其具体为:
Al、根据维度选择器获得统计任务的统计维度后生成相应的代码;
A2、根据原子计数器获得统计任务的统计计数情况并生成相应的代码;
A3、根据统计指标生成器获得统计指标的计算公式后生成对应的执行代码;
A4、根据数据源适配器生成数据源的名称代码,进而结合维度选择器生成统计任务的具体统计分组的代码;
A5、获取调度器所设定的调度范围后,生成对应的限定调度范围的代码;
A6、判断是否符合调度器的预设调度条件,若是,则自动执行步骤A1~A5所生成的代码并将代码运行结果按照报表生成器所设定的报表格式生成对应的报表。
[0009]进一步,所述代码生成器自动生成的统计任务的代码包括MapReduce代码、impala执行代码或sql语句。
[0010]本发明解决其技术问题所采用的另一技术方案是:
一种适用于大数据的统计任务快速生成方法,包括:
51、获取统计任务的数据源并对数据源属性进行定义,生成对应的数据源适配器;
52、根据统计任务的统计计数需求,定义对应的原子计数器;
53、根据统计任务的统计指标,结合原子计数器定义统计指标的计算公式,生成对应的统计指标生成器;
54、根据数据源属性定义数据源的统计维度,生成对应的维度选择器;
55、根据用户设定的统计任务的报表类型定义报表格式,生成对应的报表生成器;
56、定义统计任务的预设调度条件和调度范围,生成调度器;
57、获取前述步骤所生成的数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器后,自动生成统计任务的代码,并且在符合调度器的预设调度条件时,自动执行该代码。
[0011]进一步,所述步骤SI,其具体为:
获取统计任务的数据源并对数据源属性进行定义,判断该数据源属性是否存在对应的数据源适配器,若是,则直接调用该数据源适配器,否则,根据定义的数据源属性建立新的数据源适配器。
[0012]进一步,所述步骤S4,其具体为: 判断统计任务的统计指标是否存在对应的统计指标生成器,若是,则直接调用该统计指标生成器,否则,结合原子计数器定义统计指标的计算公式后,根据定义的计算公式生成对应的统计指标生成器。
[0013]进一步,所述步骤S7包括:
571、根据维度选择器获得统计任务的统计维度后生成相应的代码;
572、根据原子计数器获得统计任务的统计计数情况并生成相应的代码;
573、根据统计指标生成器获得统计指标的计算公式后生成对应的执行代码;
574、根据数据源适配器生成数据源的名称代码,进而结合维度选择器生成统计任务的具体统计分组的代码;
575、获取调度器所设定的调度范围后,生成对应的限定调度范围的代码;
576、判断是否符合调度器的预设调度条件,若是,则自动执行步骤S71~S75所生成的代码并将代码运行结果按照报表生成器所设定的报表格式生成对应的报表。
[0014]进一步,所述步骤S7中自动生成的统计任务的代码包括MapReduce代码、impala执行代码或sql语句。
[0015]本发明的有益效果是:一种适用于大数据的统计任务快速生成系统,包括:数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器、调度器和代码生成器,本系统通过将统计任务分解并定义成数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器等几个部分后,用户在创建自己任务的时候,就像堆积木一样,可以任意拖拽自己需要统计的指标,本系统会根据用户配置的标准模型,自动生成统计代码。本系统可以把复杂的云计算过程简单化,模块组件化,快速地生成统计任务代码,大大地提高了开发效率。
[0016]本发明的另一有益效果是:一种适用于大数据的统计任务快速生成方法,包括:分别生成数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器、调度器和代码生成器后,自动生成统计任务的代码,并且在符合调度器的预设调度条件时,自动执行该代码。本方法通过将统计任务分解并定义成数据源适配器、原子计数器、统计指标生成器、维度选择器、报表生成器和调度器等几个部分后,用户在创建自己任务的时候,就像堆积木一样,可以任意拖拽自己需要统计的指标,然后根据用户配置的标准模型,自动生成统计代码。本方法可以把复杂的云计算过程简单化,模块组件化,快速地生成统计任务代码,大大地提高了开发效率。
【附图说明】
[0017]下面结合附图和实施例对本发明作进一步说明。
[0018]图1是本发明的一种适用于大数据的统计任务快速生成方法的一具体实施例的流程示意图。
【具体实施方式】
[0019]本发明提供了一种适用于大数据的统计任务快速生成系统,包括:
数据源适配器,用于将统计任务的数据源转换成统一的存储文件格式;大数据的来源是多种多样的,有文本的,有2进制的,有结构化的,也有非结构化,数据源适配器用来适配不同格式的数据源,将数据源转换成统一的存储文
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1