一种利用数据结构控制数据准备过程的方法与流程

文档序号:13136953阅读:276来源:国知局
一种利用数据结构控制数据准备过程的方法与流程
本发明涉及数据转化和业务映射过程控制的方法,特别是一种利用数据结构控制数据准备过程的方法。
背景技术
:随着信息技术的高速发展,人类社会产生的数据量越来越大。大数据不仅体现在数量上的庞大,还有涉及到的数据内容比较广泛,数据格式的多样化,以及计算过程的复杂性等,大数据分析能够从海量的数据中提取出最有价值的信息,在知识发现领域具有关键性作用。对海量的数据进行大数据分析,就需要根据数据分析业务的需求,对数据进行标准和有效的转化。根据纽约时报对大数据科学的统计,数据准备在整个数据分析周期的时间消耗占比超过80%,因此,找到一种通用而且高效的数据准备方法就变得至关重要了。目前数据分析领域的数据准备和业务分析两个过程是非常独立的,数据准备由精通数据处理的开发人员来完成,而业务分析主要是由精通业务的数据分析师来完成,导致在数据准备过程中,数据处理的开发人员不了解业务的需求,而数据分析师也不熟悉数据处理的开发技术,从而导致增加了沟通成本,降低工作效率。技术实现要素:本发明的目的在于:针对上述现有数据转化和业务分析过程相互独立,从而导致数据准备过程中的重复工作、效率低下的问题,本发明提供一种利用数据结构控制数据准备过程的方法。本发明采用的技术方案如下:一种利用数据结构控制数据准备过程的方法,包括以下步骤:s101,数据抽取流程:将数据源的数据文件,以数据接口的方式进行抽取,获得源数据;获取数据抽取流程中的配置信息,然后将数据抽取流程需要的配置信息进行结构化处理;s102,数据概要分析流程:对步骤s101获得的源数据进行概要分析,以保证源数据的合法性与合理性;并获取数据概要分析流程中的配置信息,然后将数据概要分析流程的配置信息进行结构化处理;s103,数据异常处理流程:对步骤s102概要分析后的数据进行异常处理,消除数据中的异常情况;获取异常处理流程中的配置信息,然后将数据异常处理流程的配置信息进行结构化处理;s104,数据清洗流程:对步骤s103异常处理后的数据进行清洗,以保证数据的有效性、提高数据质量;获取数据清洗流程中的配置信息,然后将数据清洗流程的配置信息进行结构化处理;s105,数据转换流程:定义数据字段,将步骤s104中经过数据清洗后的数据按照已经定义好的数据字段进行转换,获得转换后的数据字段;获取数据转换流程中的配置信息,然后将数据转换流程的配置信息进行标准化处理;s106,业务映射流程:将数据分析需要的业务指标、业务逻辑、运算过程映射到s105数据转换完成后的数据字段上;s107,数据准备输出流程:定义数据准备输出的结果数据、输出配置信息,并对数据准备输出的结果数据、输出配置信息进行结构化处理;s108,将s101,s102,s103,s104,s105,s106,s107流程的结构化配置信息封装到数据结构中。所述的一种利用数据结构控制数据准备过程的方法,步骤s101中进行数据抽取时,不同的数据接口使用不同的抽取技术和接口方式。所述的一种利用数据结构控制数据准备过程的方法,步骤s102中数据概要分析的分析方法包括列分析、交叉列分析、表分析和交叉表分析四大类型,概要分析的具体的分析内容包括值域分析、基数分析、类型监测、数据分布、波动监测、异常值监测、功能相关性分析、主键唯一性分析、表基础分析、外键分析和血缘分析。所述的一种利用数据结构控制数据准备过程的方法,步骤s103数据异常处理流程中的数据异常包括句法异常、语义异常和覆盖异常,不同的数据异常类型进行相应的异常处理。所述的一种利用数据结构控制数据准备过程的方法,步骤s104中,数据清洗的内容包括数据审计、数据工作流规范、数据工作流执行和数据后加工与处理,数据清洗的方法包括数值修正、数据整形、数据逻辑优化和数据修复。所述的一种利用数据结构控制数据准备过程的方法,步骤s105中,数据转换流程中包括数字到数字的转换,语义变量到数字的转换、命题逻辑转换、离散化、二值化和粒度转换。所述的一种利用数据结构控制数据准备过程的方法,业务映射包括全量映射、差量映射和无映射三种情况。8.根据权利要求1所述的一种利用数据结构控制数据准备过程的方法,其特征在于,步骤108中,步骤s101,s102,s103,s104,s105,s106,s107流程的结构化配置信息均封装到同一种数据结构中。综上所述,由于采用了上述技术方案,本发明的有益效果是:一、采用本方案所述的技术方案的数据准备方法,将数据转化过程和数据映射过程标准化,直接利用数据结构来配置数据转化和业务映射的控制,无论是开发人员还是数据分析人员,都可以通过简单的配置数据准备的结构件流程,就可以完成数据准备的任务。从而使数据准备和数据分析结合得以实现。通过这种标准化的数据准备方法,我们可以准确和方便控制每一个数据准备的过程,并随时可以根据结果来调整和优化数据准备的流程和参数,让数据准备实现动态的控制和优化过程。能够大大节约在数据准备时的重复工作的时间,提高工作效率。二、通过本发明所述方案进行数据准备,可以将数据以需要的数据结构保存起来,在数据分析时,操作者可以自己定义并获取所需要的数据。三、该方法能够避免技术融合中带来的额外开销,有效提升便利性。四、数据的抽取和数据处理过程的控制都按照准标准化接口方式来设计,提高了方法在技术实现上的通用性,通过该方法准备好的数据同样具有较高的通用性。附图说明图1是本发明的方法流程图;图2是本发明实施例一的流层图;具体实施方式本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。下面结合图1、图2对本发明作详细说明。如图1所示,一种利用数据结构控制数据准备过程的方法,包括以下步骤:一种利用数据结构控制数据准备过程的方法,包括以下步骤:s101,数据抽取流程:将数据源的数据文件,以数据接口的方式进行抽取,获得源数据;获取数据抽取流程中的配置信息,然后将数据抽取流程需要的配置信息进行结构化处理;s102,数据概要分析流程:对步骤s101获得的源数据进行概要分析,以保证源数据的合法性与合理性;并获取数据概要分析流程中的配置信息,然后将数据概要分析流程的配置信息进行结构化处理;s103,数据异常处理流程:对步骤s102概要分析后的数据进行异常处理,消除数据中的异常情况;获取异常处理流程中的配置信息,然后将数据异常处理流程的配置信息进行结构化处理;s104,数据清洗流程:对步骤s103异常处理后的数据进行清洗,以保证数据的有效性、提高数据质量;获取数据清洗流程中的配置信息,然后将数据清洗流程的配置信息进行结构化处理;s105,数据转换流程:定义数据字段,将步骤s104中经过数据清洗后的数据按照已经定义好的数据字段进行转换,获得转换后的数据字段;获取数据转换流程中的配置信息,然后将数据转换流程的配置信息进行标准化处理;s106,业务映射流程:将数据分析需要的业务指标、业务逻辑、运算过程映射到s105数据转换完成后的数据字段上;s107,数据准备输出流程:定义数据准备输出的结果数据、输出配置信息,并对数据准备输出的结果数据、输出配置信息进行结构化处理;s108,将s101,s102,s103,s104,s105,s106,s107流程的结构化配置信息封装到数据结构中。上述各个步骤中所述的配置信息包括各个步骤所需数据提取、转换、输出所必须的信息,如获取数据的链接、获取数据的账号、获取数据的密码等必须的信息。本方案所述的方法具有通用性和开发便利性。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图2,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。以下结合附图和实施例详细说明本发明的技术方案。本实施例选择选择有向无环图(dag)对数据准备流程进行封装,现约定dag每个节点内容:[fromnode,nodename,tonode]=>{operation}表示从节点fromnode出发到节点tonode的节点nodename包含的操作为operation,其中null表示内容为空。以下为行业用电数据准备流程具体实施步骤:1,数据抽取:[null,dataextract,datasummary]=>{ds–tmysql://172.16.0.112:3306/em.dbo/em_power?user=root@bigdata2016–f记录日期,企业id,用电量},表示一个数据提取过程,该过程由一条元语指令组成,ds表示数据源指令,“-tmysql://…”表示从mysql数据库取数据,–f记录日期,企业id,用电量表示取出字段“记录日期,企业id,用电量”。最终该元语过程生成的样本数据集如表1:表1记录日期企业id用电量2015-01-0100111352015-01-02001null2015-01-0300134182015-01-04001null2015-01-0500139862015-01-0600140822,数据概要分析:[dataextract,datasummary,exceptionhandling]=>{vd–erange[用电量>0]},“vd”表示对运算结果这列进行范围校验,“range[用电量>0]”表示用电量非空且大于0的数据才符合条件,将符合条件的用电数据表示为“true”,将不符合条件的用电数据表示为“false”,执行分析规则得到如表2:表2记录日期企业id用电量2015-01-01001true2015-01-02001false2015-01-03001true2015-01-04001false2015-01-05001true2015-01-06001true3,数据异常处理:[datasummary,exceptionhandling,datacleaning]=>{cp–palg:gbm[用电量]},依据上述数据概要分析流程的结果对数据集进行异常处理。“{cp–palg:gbm}”表示对整个数据集所有字段执行gbm算法,填充所有缺失的用电量,处理结果如表3:表3记录日期企业id用电量2015-01-0100111352015-01-0200115742015-01-0300134182015-01-0400137612015-01-0500139862015-01-0600140824,数据清洗:[exceptionhandling,datacleaning,dataconversion]=>{cp–psum[groupby[记录日期],用电量]},表示以对数据按记录日期进行分组,然后对各分组用电量求和,得到结果如表4:表4记录日期用电量2015-01-0129005752015-01-0231582112015-01-0335964872015-01-0439396722015-01-0541017902015-01-0641491645,数据转换:[datacleaning,dataconversion,businessmapping]=>{cp–pdate[记录日期]},表示将记录日期字段转换为年、月、日三个字段,如表5所示:表5年月日用电量2015112900575201512315821120151335964872015143939672201515410179020151641491646,业务映射,按照业务需求生成相应字段:[datacleaning,dataconversion,businessmapping]=>{cp–pavg[groupby[年,月],用电量]},表示对数据按年、月进行分组,然后对各分组用电量求均值,得到结果如表6:表6年月日平均用电量2015139613832015227951362015334788442015437683152015537552612015637903087,数据输出:[businessmapping,dataoutput,null]=>{op–olocal–f年,月,日平均用电量},其中:“local”表示本地模式,即数据处理结果保存到本地文件系统;“年,月,日平均用电量”表示用户在本次输出数据集包含的字段。8.信息封装:将整个数据准备流程与业务映射中对应的业务按照dag结构连接起来,同时将始末的null改写为相应的节点名,示意图如图2所示。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1