一种基于ETL的字段级别血统分析方法及装置制造方法及图纸

技术编号:13595907 阅读:79 留言:0更新日期:2016-08-26 13:14
本发明专利技术提供了一种基于ETL的字段级别血统分析方法及装置,该装置包括:划分操作模块、定位模块、定位查找模块、第一检索模块、第二检索模块、第三检索模块和记录模块。与现有技术比较本发明专利技术的有益效果在于:本发明专利技术提供的一种基于ETL的字段级别血统分析方法和装置,实现了在字段的级别上展现字段的变化过程,通过建立血统表和血统分析附属表,采用迭代的方法,并行对涉及到的相关字段进行血统分析,提高了工作效率,并且采用血统表记录各个步骤各个字段的血统分析图,当以后再涉及到这些字段的血统分析时,则不再需要再一次检索分析,这样避免了多次分析,减少了工作量。

【技术实现步骤摘要】

本专利技术涉及数据仓库构建过程中ETL
,尤其涉及一种基于ETL的字段级别血统分析方法及装置
技术介绍
随着企业的业务不断地扩大,数据量也在不断地增加,企业为了更好地实现高效管理,则需要对各个区域的不同业务的数据进行集成并分析。当前,商业智能技术被更多的企业运用,辅助于公司更好地做出决策,降低风险,提高绩效。商业智能技术,一般由数据仓库、联机分析处理、数据挖掘、数据备份和恢复等部分组成。对于数据仓库的构建需要对数据进行ETL处理,这是保证数据质量最为重要的一歩。ETL,包括数据抽取(Extract)、数据转换(Transform)、数据加载(Loading),在构建数据仓库过程中占据了很大的工作量,同时它的完善将极大地保证了数据的质量,只有ETL过程中数据处理妥当,接下来数据分析才能有意义。血统分析是ETL构建中很重要一部分,血统分析主要包括了两种,一种是对数据进行回溯分析,即知道一个数据是从哪里来的,在哪个步骤中,数据的变化是怎样的;另外一种则是在字段的级别上分析字段在ETL过程中的变化过程。对于ETL开发人员来讲,在构建ETL过程中,当发现某个字段的变化与预期有所差距时,需要对字段进行血统分析,以便找到错误进行修改;而对于用户来讲,需要在集成的数据仓库中获取有用的信息,则在编写SQL语言时,往往需要知道数据的结构,包括了哪些字段,以及了解字段在ETL过程中的变化过程。现有技术在字段级别的血统分析所需的工作量大,需要多次分析。鉴于上述缺陷,本专利技术创作者经过长时间的研究和试验,最终获得了本专利技术。
技术实现思路
本专利技术的目的在于提供一种基于ETL的字段级别血统分析方法及装置用以克服上述技术缺陷。为实现上述目的,本专利技术采用的技术方案在于:一方面提供了一种基于ETL的字段级别血统分析方法,其特征在于,该方法包括以下步骤:步骤S1,对ETL任务脚本文件的内容进行划分操作,将划分操作结果记录在血统分析附属表中;步骤S2,根据用户的需要,定位某一个步骤里的某一个字段进行血统分析,假设该字段为字段a;步骤S3,在所述血统分析附属表中定位到所述字段a对应的步骤,并且在所述血统分析附属表中查找到该步骤的最大编号,假设最大编号为n,令m=n;步骤S4,在所述血统分析附属表中从字段a对应的步骤的m编号开始,按照编号从大到小对SQL语言中的SELECT语句进行检索,检索是否有该字段a,若检索到字段a,则执行步骤S5,若没检索到字段a,则执行步骤S6;步骤S5,对所述SQL语言中的WHERE语句进行检索,检索是否有与所述字段a相关的其他字段,若检索到其他的字段,假设为字段b,另外并行按照所述步骤S2对该字段进行血统分析,若没检索到其他的字段,则执行步骤S6;步骤S6,继续按所述字段a对应的步骤的编号从大到小对所述字段a进行检索,直到检索到第一个步骤的编号1为止,则对字段a的检索完成;步骤S7,将检索过程中所述字段a以及所涉及的其他字段形成的血统分系图记录在血统表中。较佳的,所述步骤S1具体为:对ETL任务脚本文件的内容进行分析并进行操作划分,将每一个SQL语句视为一个操作,并按照此规则ETL任务脚本文件的内容进行操作的划分,对于在ETL每个步骤中,对每一个完整的SQL语言按照逻辑顺序进行从小到大编号,按照步骤名+编号进行命名形成划分操作结果,将其记录在血统分析附属表中。较佳的,所述步骤S7具体为:以所述字段a为主线,画出血统分析图,在血统分析图上需要标记检索时出现的某步骤+某编号,并将在该检索过程中字段a涉及的其他字段的血统分析图记录在血统表中。较佳的,所述步骤S6包括:步骤S61,判断编号m的值是否为1,若编号m≠1,则执行步骤S62,若编号m=1,则执行步骤S63;步骤S62,令编号m=n-1,转到步骤S4继续进行;步骤S63,判断字段a对应的步骤的编号是否为1,若是,则执行步骤S64,若否,则执行步骤S65;步骤S64,结束;步骤S65,定位到字段a对应的步骤的前一个步骤的最大编号,设编号为k,领m=k,步骤S4继续进行。又一方面提供了一种基于ETL的字段级别血统分析装置,其特征在于,该装置包括:划分操作模块,用于对ETL任务脚本文件的内容进行划分操作,将划分操作结果记录在血统分析附属表中;定位模块,用于根据用户的需要,定位某一个步骤里的某一个字段进行血统分析,假设该字段为字段a;定位查找模块,用于在血统分析附属表中定位到字段a对应的步骤,并且在血统分析附属表中查找到该步骤的最大编号,假设最大编号为n,令m=n;第一检索模块,用于在血统分析附属表中从字段a对应的步骤的m编号开始,按照编号从大到小对SQL语言中的SELECT语句进行检索,检索是否有该字段a;第二检索模块,用于当第一检索判断模块未检索到字段a时,对SQL语言中的WHERE语句进行检索,检索是否有与字段a相关的其他字段;第三检索模块,用于当第二检索判断模块未检索到其他的字段时,继续按字段a对应的步骤的编号从大到小对字段a进行检索,直到检索到第一个步骤的编号1为止,完成对字段a的检索;记录模块,用于将检索过程中字段a以及所涉及的其他字段形成的血统分系图记录在血统表中。与现有技术比较本专利技术的有益效果在于:本专利技术提供的一种基于ETL的字段级别血统分析方法和装置,实现了在字段的级别上展现字段的变化过程,通过建立血统表和血统分析附属表,采用迭代的方法,并行对涉及到的相关字段进行血统分析,提高了工作效率,并且采用血统表记录各个步骤各个字段的血统分析图,当以后再涉及到这些字段的血统分析时,则不再需要再一次检索分析,这样避免了多次分析,减少了工作量。另外,采用了血统分析附属表,方便在出现问题时可以迅速定位查看相关
的SQL语言,方便于ETL开发人员找出错误。附图说明图1为本专利技术提供的一种基于ETL的字段级别血统分析方法的流程图;图2为本专利技术提供的一种基于ETL的字段级别血统分析装置的功能框图。具体实施方式为便于进一步理解本专利技术的
技术实现思路
,下面结合附图对本专利技术作进一步说明。实施例一如图1所示,为本专利技术提供的一种基于ETL的字段级别血统分析方法的流程图,该一种基于ETL的字段级别血统分析方法包括以下步骤:步骤S1,对ETL任务脚本文件的内容进行划分操作,将划分操作结果记录在血统分析附属表中。具体的,对ETL任务脚本文件的内容进行分析并进行操作划分,将每一个SQL语句视为一个操作,并按照此规则ETL任务脚本文件的内容进行操作的划分,对于在ETL每个步骤中,对每一个完整的SQL语言按照逻辑顺序进行从小到大编号,按照“步骤名+编号”进行命名形成划分操作结果,将其记录在血统分析附属表中。步骤S2,根据用户的需要,定位某一个步骤里的某一个字段进行血统分析,假设该字段为字段a。步骤S3,在血统分析附属表中定位到字段a对应的步骤,并且在血统分析附属表中查找到该步骤的最大编号,假设最大编号为n,令m=n。步骤S4,在血统分析附属表中从字段a对应的步骤的m编号开始,对SQL语言中的SELECT语句进行检索,检索是否有该字段a,若检索到字段a,则执行步骤S5,若没检索到字段a,则执行步骤S6。步骤S5,对SQL语言中的WHERE语句进行检索,检索是否有与字段a相关的其他字段本文档来自技高网
...

【技术保护点】
一种基于ETL的字段级别血统分析方法,其特征在于,该方法包括以下步骤:步骤S1,对ETL任务脚本文件的内容进行划分操作,将划分操作结果记录在血统分析附属表中;步骤S2,根据用户的需要,定位某一个步骤里的某一个字段进行血统分析,假设该字段为字段a;步骤S3,在所述血统分析附属表中定位到所述字段a对应的步骤,并且在所述血统分析附属表中查找到该步骤的最大编号,假设最大编号为n,令m=n;步骤S4,在所述血统分析附属表中从字段a对应的步骤的m编号开始,按照编号从大到小对SQL语言中的SELECT语句进行检索,检索是否有该字段a,若检索到字段a,则执行步骤S5,若没检索到字段a,则执行步骤S6;步骤S5,对所述SQL语言中的WHERE语句进行检索,检索是否有与所述字段a相关的其他字段,若检索到其他的字段,假设为字段b,另外并行按照所述步骤S2对该字段进行血统分析,若没检索到其他的字段,则执行步骤S6;步骤S6,继续按所述字段a对应的步骤的编号从大到小对所述字段a进行检索,直到检索到第一个步骤的编号1为止,则对字段a的检索完成;步骤S7,将检索过程中所述字段a以及所涉及的其他字段形成的血统分系图记录在血统表中。...

【技术特征摘要】
1.一种基于ETL的字段级别血统分析方法,其特征在于,该方法包括以下步骤:步骤S1,对ETL任务脚本文件的内容进行划分操作,将划分操作结果记录在血统分析附属表中;步骤S2,根据用户的需要,定位某一个步骤里的某一个字段进行血统分析,假设该字段为字段a;步骤S3,在所述血统分析附属表中定位到所述字段a对应的步骤,并且在所述血统分析附属表中查找到该步骤的最大编号,假设最大编号为n,令m=n;步骤S4,在所述血统分析附属表中从字段a对应的步骤的m编号开始,按照编号从大到小对SQL语言中的SELECT语句进行检索,检索是否有该字段a,若检索到字段a,则执行步骤S5,若没检索到字段a,则执行步骤S6;步骤S5,对所述SQL语言中的WHERE语句进行检索,检索是否有与所述字段a相关的其他字段,若检索到其他的字段,假设为字段b,另外并行按照所述步骤S2对该字段进行血统分析,若没检索到其他的字段,则执行步骤S6;步骤S6,继续按所述字段a对应的步骤的编号从大到小对所述字段a进行检索,直到检索到第一个步骤的编号1为止,则对字段a的检索完成;步骤S7,将检索过程中所述字段a以及所涉及的其他字段形成的血统分系图记录在血统表中。2.根据权利要求1所述的一种基于ETL的字段级别血统分析方法,其特征在于,所述步骤S1具体为:对ETL任务脚本文件的内容进行分析并进行操作划分,将每一个SQL语句视为一个操作,并按照此规则ETL任务脚本文件的内容进行操作的划分,对于在ETL每个步骤中,对每一个完整的SQL语言按照逻辑顺序进行从小到大编号,按照步骤名+编号进行命名形成划分操作结果,将其记录在血统分析附属表中。3.根据权利要求2所述的一种基于ETL的字段级别血统分析方法,其特征在于,所述步骤S7具体为:以所述字段a为主线,画出
...

【专利技术属性】
技术研发人员:李青海简宋全侯大勇邹立斌
申请(专利权)人:广州精点计算机科技有限公司
类型:发明
国别省市:广东;44

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

1