基于SQL脚本反向推理ETL调度任务依赖关系的方法技术

技术编号:29400863 阅读:29 留言:0更新日期:2021-07-23 22:38
本发明专利技术公开了一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,包括:提取数据处理过程的SQL脚本信息,根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系;提取调度任务依赖的SQL脚本,根据任务SQL脚本解析得到任务与数据表之间的依赖关系;根据数据表之间的依赖关系以及任务与数据表之间的依赖关系,推理得到任务之间的依赖关系。通过本发明专利技术的技术方案,能够反向推理得到任务之间的依赖关系,从而发现配置错漏的任务关系,避免了人为因素造成的依赖关系错漏问题,避免了数据处理顺序混乱及导致的数据质量问题,且能够直接定位到具体的任务环节,问题定位清晰。

【技术实现步骤摘要】
基于SQL脚本反向推理ETL调度任务依赖关系的方法
本专利技术涉及数据库
,尤其涉及一种基于SQL脚本反向推理ETL调度任务依赖关系的方法。
技术介绍
在数据的加工处理过程中,需要利用ETL(Extract-Transform-Load,抽取-转换-加载,数据仓库技术)工具对数据进行抽取、加载、转换以及数据处理等过程,数据处理过程很多情况下依赖于ETL工具进行SQL脚本或者存储过程的调度,从而实现数据的层层汇聚过程。数据的处理存在先后关系,ETL工具也提供了依赖配置的过程,即可以通过依赖的配置,实现任务之间的依赖调度,只有上一个任务执行成功,才能执行依赖的任务。在实际运行场景下,经常会出现,漏配任务依赖的关系的情况,这种容易造成数据处理顺序混乱,继而引发数据质量等问题。在这样的场景下,现有技术一般都是出现了问题,才能进行定位跟踪和干预和补救,这种方式经常会造成不良影响,并且问题排查效率低下。
技术实现思路
针对上述问题,本专利技术提供了一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,通过SQL解析、特征识别和关系推理技术的应用,对ETL数据处理过程、数据库处理脚本的识别解析,得到数据表之间的依赖关系,根据任务与数据表之间的关系,反向推理得到任务之间的依赖关系,从而发现配置错漏的任务关系,避免人为因素造成的依赖关系错漏问题,避免数据处理顺序混乱及导致的数据质量问题,且能够直接定位到具体的任务环节,问题定位清晰。为实现上述目的,本专利技术提供了一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,包括:提取数据处理过程的SQL脚本信息,根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系;提取调度任务依赖的SQL脚本,根据任务SQL脚本解析得到任务与数据表之间的依赖关系;根据数据表之间的依赖关系以及任务与数据表之间的依赖关系,推理得到任务之间的依赖关系。在上述技术方案中,优选地,所述提取数据处理过程的SQL脚本信息并根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系具体包括:通过数据库执行日志或ETL工具提取数据处理过程依赖的SQL脚本;对数据处理SQL脚本进行解析,通过脚本语法逻辑识别得到数据表之间的依赖关系。在上述技术方案中,优选地,所述提取调度任务依赖的SQL脚本并根据任务SQL脚本解析得到任务与数据表之间的依赖关系具体包括:通过ETL工具提取调度任务信息,根据所述调度任务信息获取任务所依赖的任务SQL脚本;解析所述任务SQL脚本,根据脚本语法逻辑识别得到任务与数据表之间的依赖关系,并形成输入表-任务-输出表的对应关系表。在上述技术方案中,优选地,所述根据数据表之间的依赖关系以及任务与数据表之间的依赖关系推理得到任务之间的依赖关系具体包括:查找具有连续的输入输出依赖关系的数据表;通过ETL工具调度元数据信息,根据元数据信息提取得到任务之间的依赖关系;检索得到以具有所述输入输出依赖关系的数据表为输入输出的任务;判断检索得到的任务之间的依赖关系是否符合数据表之间的连续依赖关系,若符合,则任务依赖关系配置正确,输出任务之间的依赖关系,若不符合,则任务关系配置错误。在上述技术方案中,优选地,所述根据数据表之间的依赖关系以及任务与数据表之间的依赖关系推理得到任务之间的依赖关系具体包括:假设查找得到具有连续输入输出依赖关系的数据表A—数据表B—数据表C;假设任务A的输入为数据表A、输出为数据表B,任务B的输入为数据表B、输出为数据表C;通过ETL工具调度元数据信息,提取得到任务之间依赖关系;判断任务A与任务B之间是否存在任务A—任务B的依赖关系;若任务A与任务B之间存在依赖关系,则当前两任务依赖关系配置正确,若不存在,则当前两任务依赖关系漏配;遍历扫描并匹配所有任务之间关系与数据表之间关系,得到配置错误任务。与现有技术相比,本专利技术的有益效果为:通过SQL解析、特征识别和关系推理技术的应用,对ETL数据处理过程、数据库处理脚本的识别解析,得到数据表之间的依赖关系,根据任务与数据表之间的关系,反向推理得到任务之间的依赖关系,从而发现配置错漏的任务关系,避免了人为因素造成的依赖关系错漏问题,避免了数据处理顺序混乱及导致的数据质量问题,且能够直接定位到具体的任务环节,问题定位清晰。附图说明图1为本专利技术一种实施例公开的基于SQL脚本反向推理ETL调度任务依赖关系的方法的流程示意图;图2为本专利技术一种实施例公开的基于SQL脚本反向推理ETL调度任务依赖关系的方法的具体执行步骤示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术做进一步的详细描述:如图1和图2所示,根据本专利技术提供的一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,包括:提取数据处理过程的SQL脚本信息,根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系;提取调度任务依赖的SQL脚本,根据任务SQL脚本解析得到任务与数据表之间的依赖关系;根据数据表之间的依赖关系以及任务与数据表之间的依赖关系,推理得到任务之间的依赖关系。在该实施例中,通过SQL解析、特征识别和关系推理技术的应用,对ETL数据处理过程、数据库处理脚本的识别解析,得到数据表之间的依赖关系,根据任务与数据表之间的关系,反向推理得到任务之间的依赖关系,从而发现配置错漏的任务关系,避免了人为因素造成的依赖关系错漏问题,避免了数据处理顺序混乱及导致的数据质量问题,且能够直接定位到具体的任务环节,问题定位清晰。具体地,在该实施例中,所使用的技术主要包括:(1)特征识别技术,通过数据处理过程中的特定数据处理逻辑,包含识别insert...select...、createtable...asselect...、update...select...这些语法逻辑,提取有效的数据处理脚本;(2)SQL解析技术,识别SQL并进行解析操作,通过insert...select...、createtable...asselect...、update...select...语句获取数据表之间依赖,例如insertintotable2select*fromtable1,解析结果为table2依赖table1;获取ETL任务和数据表之间的关系和数据表之间的关系,该依赖主要获取ETL执行的脚本任务,提取任务以及任务执行的脚本,通过脚本解析出数据表,从而获取到任务和数据表之间的关系;(3)关系推理技术,通过任务关系、数据表之间的关系进行推理,发现任务之间应该有关系,但实际没有配置关系的情况;具体方法是,判断数据表之间存在依赖,例如数据表B依赖数据表A,然后再判断任务数据表之间依本文档来自技高网...

【技术保护点】
1.一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,其特征在于,包括:/n提取数据处理过程的SQL脚本信息,根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系;/n提取调度任务依赖的SQL脚本,根据任务SQL脚本解析得到任务与数据表之间的依赖关系;/n根据数据表之间的依赖关系以及任务与数据表之间的依赖关系,推理得到任务之间的依赖关系。/n

【技术特征摘要】
1.一种基于SQL脚本反向推理ETL调度任务依赖关系的方法,其特征在于,包括:
提取数据处理过程的SQL脚本信息,根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系;
提取调度任务依赖的SQL脚本,根据任务SQL脚本解析得到任务与数据表之间的依赖关系;
根据数据表之间的依赖关系以及任务与数据表之间的依赖关系,推理得到任务之间的依赖关系。


2.根据权利要求1所述的基于SQL脚本反向推理ETL调度任务依赖关系的方法,其特征在于,所述提取数据处理过程的SQL脚本信息并根据数据处理SQL脚本信息解析识别得到数据表之间的依赖关系具体包括:
通过数据库执行日志或ETL工具提取数据处理过程依赖的SQL脚本;
对数据处理SQL脚本进行解析,通过脚本语法逻辑识别得到数据表之间的依赖关系。


3.根据权利要求1所述的基于SQL脚本反向推理ETL调度任务依赖关系的方法,其特征在于,所述提取调度任务依赖的SQL脚本并根据任务SQL脚本解析得到任务与数据表之间的依赖关系具体包括:
通过ETL工具提取调度任务信息,根据所述调度任务信息获取任务所依赖的任务SQL脚本;
解析所述任务SQL脚本,根据脚本语法逻辑识别得到任务与数据表之间的依赖关系,并形成输入表-任务-输出表的对应关系表。


4.根据权利要求1所述...

【专利技术属性】
技术研发人员:严敏
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京;11

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

1