ETL依赖自动识别方法与系统技术方案

技术编号:17970734 阅读:35 留言:0更新日期:2018-05-16 11:30
本发明专利技术公开了一种ETL依赖自动识别方法与系统。其中ETL依赖自动识别方法与系统包括:S1、获取所有ETL任务中的标记语言,并将标记语言保存至标记语言库,其中标记语言包括数据对象ID和标记任务号;S2、根据ETL任务获取数据对象,数据对象包括当前数据对象ID;S3、判断数据对象是否为当前创建的临时表;若否,则转至步骤S4;S4、判断标记语言库是否包括当前数据对象ID;若是,则转至步骤S5;S5、根据标记任务号生成依赖任务号。本发明专利技术在程序编写完成之后,可以自动识别ETL任务中的依赖任务号并对数据对象的依赖任务号进行自动配置,减少了作业平台开发中的人为参与,进而提高了任务配置的效率以及准确性。

【技术实现步骤摘要】
ETL依赖自动识别方法与系统
本专利技术涉及计算机
,特别涉及一种ETL(extract-transform-load,抽取、转换、加载)依赖自动识别方法与系统。
技术介绍
当前在作业平台上开发任务时,配置任务依赖的步骤通常包括:人为地识别出所有的输入表,再人为地辨别每个输入表是否需要依赖,并在需要依赖的情况下辨别是否需要改变输入表的当前依赖。如此,大量的人为操作增加了ETL任务开发的复杂度,同时大量的人为操作也容易发生依赖错误(诸如缺失依赖或者多余依赖)的情况,进而导致最终产出的结果发生错误。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中人为配置任务依赖的缺陷,提供一种ETL依赖自动识别方法与系统。本专利技术是通过下述技术方案来解决上述技术问题:一种ETL依赖自动识别方法,其特点在于,包括:S1、获取所有ETL任务中的标记语言,并将所述标记语言保存至标记语言库,其中所述标记语言包括数据对象ID和标记任务号;S2、根据ETL任务获取数据对象,所述数据对象包括当前数据对象ID;S3、判断所述数据对象是否为当前创建的临时表;若否,则转至步骤S4;S4、判断所述标记语言库是否包括所述当前数据对象ID;若是,则转至步骤S5;S5、根据所述标记任务号生成依赖任务号。优选地,步骤S1具体包括:S11、询问ETL任务;S12、判断所述ETL任务是否包括标记语言;若是,则转至步骤S13;S13、判断所述标记语言是否包括数据对象ID和标记任务号;若是,则转至步骤S14;S14、将所述标记语言保存至标记语言库;和/或步骤S2具体包括:S21、解析ETL任务获取语法树;S22、解析所述语法树获取数据对象。优选地,所述数据对象还包括当前任务号,所述ETL依赖自动识别方法还包括:S6、判断所述标记任务号是否与所述当前任务号相同;若否,则转至步骤S7;S7、将所述当前任务号保存至错误依赖表。优选地,步骤S7具体包括:S71、根据所述标记任务号和所述当前任务号判断发生的是多余依赖还是缺失依赖;若是多余依赖,则转至步骤S72;若是缺失依赖,则转至步骤S73;S72、将所述当前任务号保存至多余依赖表;S73、将所述当前任务号保存至缺失依赖表。优选地,所述ETL依赖自动识别方法还包括:S8、发送错误通知。一种ETL依赖自动识别系统,其特点在于,包括:第一获取模块,用于获取所有ETL任务中的标记语言,并将所述标记语言保存至标记语言库,其中所述标记语言包括数据对象ID和标记任务号;第二获取模块,用于根据ETL任务获取数据对象,所述数据对象包括当前数据对象ID;第一判断模块,用于判断所述数据对象是否为当前创建的临时表,并在判断为否时调用第二判断模块;所述第二判断模块,用于判断所述标记语言库是否包括所述当前数据对象ID,并在判断为是时调用生成模块;所述生成模块,用于根据所述标记任务号生成依赖任务号。优选地,所述第一获取模块包括:询问模块,用于询问ETL任务;第三判断模块,用于判断所述ETL任务是否包括标记语言,并在判断为是时调用第四判断模块;所述第四判断模块,用于判断所述标记语言是否包括数据对象ID和标记任务号,并在判断为是时调用第一保存模块;所述第一保存模块,用于将所述标记语言保存至标记语言库;和/或所述第二获取模块包括:第一解析模块,用于解析ETL任务获取语法树;第二解析模块,用于解析所述语法树获取数据对象。优选地,所述数据对象还包括当前任务号,所述ETL依赖自动识别系统还包括:第五判断模块,用于判断所述标记任务号是否与所述当前任务号相同,并在判断为否时调用第二保存模块;所述第二保存模块,用于将所述当前任务号保存至错误依赖表。优选地,所述第二保存模块包括:第六判断模块,用于根据所述标记任务号和所述当前任务号判断发生的是多余依赖还是缺失依赖,并在判断发生多余依赖时调用第三保存模块,发生缺失依赖时调用第四保存模块;所述第三保存模块,用于将所述当前任务号保存至多余依赖表;所述第四保存模块,用于将所述当前任务号保存至缺失依赖表。优选地,所述ETL依赖自动识别系统还包括:通知模块,用于发送错误通知。本专利技术的积极进步效果在于:本专利技术ETL依赖自动识别方法与系统首先获取ETL任务中事先标记的标记语言,再判断ETL任务中的数据对象是否被标记,并在是的情况下根据标记语言生成真正的依赖任务号。减少了作业平台开发中的人为参与,提高了任务配置的效率以及准确率。附图说明图1为本专利技术实施例1的ETL依赖自动识别方法的流程图。图2为本专利技术实施例2的ETL依赖自动识别方法的流程图。图3为本专利技术实施例3的ETL依赖自动识别方法的流程图。图4为本专利技术实施例4的ETL依赖自动识别系统的结构示意图。图5为本专利技术实施例5的ETL依赖自动识别系统的结构示意图。图6为本专利技术实施例6的ETL依赖自动识别系统的结构示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。实施例1本实施例提供了一种ETL依赖自动识别方法,图1示出了本实施例的流程图。如图1所示,本实施例的ETL依赖自动识别方法包括以下步骤:S101、获取所有ETL任务中的标记语言,并将标记语言保存至标记语言库,其中标记语言包括数据对象ID和标记任务号;S102、根据ETL任务获取数据对象,数据对象包括当前数据对象ID;S103、判断数据对象是否为当前创建的临时表;若否,则转至步骤S104;S104、判断标记语言库是否包括当前数据对象ID;若是,则转至步骤S105;S105、根据标记任务号生成依赖任务号。具体地,编程人员在编写程序时,通常会在语句、程序段等之后添加标记语言,以对所编写的程序代码进行解释和说明,ETL任务中也包括标记语言,该标记语言包括数据对象ID和标记任务号,用以解释和说明数据对象的真正的任务号。本实施例首先获取所有ETL任务中的标记语言并保存至标记语言库,即获取数据对象ID与标记任务号之间的对应关系并保存,以供后续步骤调用。其次,获取ETL任务的数据对象,该数据对象包括当前数据对象ID,并排除当前创建的临时表,以提高本实施例ETL依赖自动识别方法的准确性。最后,再判断标记语言库中是否包括当前数据对象ID,即判断针对当前数据对象ID是否设有标记任务号,也即判断针对当前数据对象ID是否对其真正的任务号进行解释和说明,若是,则根据标记语言库中当前数据对象ID对应的标记任务号生成依赖任务号,以为当前数据对象配置其真正的任务号;若否,则按照常规方式配置依赖任务号,例如通过人为手动的方式为当前数据对象配置其真正的任务号,又或者某些维表(诸如国家维表)并不需要设置依赖任务号。本实施例的ETL依赖自动识别方法首先获取ETL任务中预设的对数据对象真正的任务号进行解释和说明的标记语言,再判断ETL任务中的数据对象是否被标记语言所标记,并在是的情况下根据该标记语言生成该数据对象真正的依赖任务号。因此,本实施例的ETL依赖自动识别方法在程序编写完成之后,可以自动识别ETL任务中的依赖任务号并对数据对象的依赖任务号进行自动配置,减少了作业平台开发中的人为参与,进而提高了任务配置的效率以及准确性。实施例2本实施例提供的ETL依赖自动识别方法是对实施例1的进一步改进,图2示本文档来自技高网...
ETL依赖自动识别方法与系统

【技术保护点】
一种ETL依赖自动识别方法,其特征在于,包括:S1、获取所有ETL任务中的标记语言,并将所述标记语言保存至标记语言库,其中所述标记语言包括数据对象ID和标记任务号;S2、根据ETL任务获取数据对象,所述数据对象包括当前数据对象ID;S3、判断所述数据对象是否为当前创建的临时表;若否,则转至步骤S4;S4、判断所述标记语言库是否包括所述当前数据对象ID;若是,则转至步骤S5;S5、根据所述标记任务号生成依赖任务号。

【技术特征摘要】
1.一种ETL依赖自动识别方法,其特征在于,包括:S1、获取所有ETL任务中的标记语言,并将所述标记语言保存至标记语言库,其中所述标记语言包括数据对象ID和标记任务号;S2、根据ETL任务获取数据对象,所述数据对象包括当前数据对象ID;S3、判断所述数据对象是否为当前创建的临时表;若否,则转至步骤S4;S4、判断所述标记语言库是否包括所述当前数据对象ID;若是,则转至步骤S5;S5、根据所述标记任务号生成依赖任务号。2.如权利要求1所述的ETL依赖自动识别方法,其特征在于,步骤S1具体包括:S11、询问ETL任务;S12、判断所述ETL任务是否包括标记语言;若是,则转至步骤S13;S13、判断所述标记语言是否包括数据对象ID和标记任务号;若是,则转至步骤S14;S14、将所述标记语言保存至标记语言库;和/或步骤S2具体包括:S21、解析ETL任务获取语法树;S22、解析所述语法树获取数据对象。3.如权利要求1所述的ETL依赖自动识别方法,其特征在于,所述数据对象还包括当前任务号,所述ETL依赖自动识别方法还包括:S6、判断所述标记任务号是否与所述当前任务号相同;若否,则转至步骤S7;S7、将所述当前任务号保存至错误依赖表。4.如权利要求3所述的ETL依赖自动识别方法,其特征在于,步骤S7具体包括:S71、根据所述标记任务号和所述当前任务号判断发生的是多余依赖还是缺失依赖;若是多余依赖,则转至步骤S72;若是缺失依赖,则转至步骤S73;S72、将所述当前任务号保存至多余依赖表;S73、将所述当前任务号保存至缺失依赖表。5.如权利要求3所述的ETL依赖自动识别方法,其特征在于,所述ETL依赖自动识别方法还包括:S8、发送错误通知。6.一种ETL依赖自动识别系统,其特征在于,包括:第一获取模块,用于获取所有ETL任务中的标记语言,并将所述标记语言保存至标记语言库...

【专利技术属性】
技术研发人员:陆俭彪郑浩华巩祥平
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海,31

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

1