ETL调度方法及装置制造方法及图纸

技术编号:25637048 阅读:15 留言:0更新日期:2020-09-15 21:29
本申请提供了一种ETL调度方法及装置,该方法包括:定时获取目标SQL语句列表,目标SQL语句列表包含多条SQL语句,各个SQL语句中包含有对应的语句类型标识;若根据各个SQL语句的语句类型标识确定属于操作类型的SQL语句中包含有子查询,则基于包含有子查询的SQL语句的源表的标识和目标表的标识生成血缘对照关系表;将血缘对照关系表和目标SQL语句列表发送至目标调度服务器,以使目标调度服务器根据映射关系表、目标数据平台信息、血缘对照关系表和目标SQL语句列表执行目标调度作业。本申请能够提高ETL调度的准确性、灵活性和效率,实现数据模型的动态修正以及调度结果的可视化显示,进而能够提高数据处理的可靠性。

【技术实现步骤摘要】
ETL调度方法及装置
本申请涉及数据处理
,尤其涉及一种ETL调度方法及装置。
技术介绍
传统的ETL(Extraction-Transformation-Loading)调度是指将分散的数据和异构数据源中的数据进行数据清洗和集成后加载到大数据平台、数据平台、数据集市中,能够为联机分析处理和数据挖掘提供决策支持和数据支持。ETL调度流程非常复杂,不仅需要考虑各个步骤的先后顺序和依赖关系等,还需要考虑不同作业间的先后顺序和依赖关系。在精准营销、产品创新、风险控制、市场分析和资源配置等领域,通过ETL调度对原始数据进行处理,能够为公司管理决策人员、风险管理人员、业务处理人员和客户等提供数据支持。目前,从对数据加工处理到可视化显示有以下两种途径:(1)在数据仓库中建立数据集市,以ETL调度为基础,以业务需求为驱动,将开发人员开发指标加工作业和数据对接至各个应用平台,应用平台根据业务需求将原始数据的处理指标和处理结果进行可视化图表展示。(2)通过现有的一些数据挖掘工具,例如,应用SASEG、SASViya和SPSS等统计分析软件,对原始数据进行统计分析并将统计结果可视化显示。第一种方式,人力成本高;开发周期长,每次需求变更或问题的修正,需要重新制定版本;难以满足动态高频变化的业务需求;第二种方式,为了保证数据的完整性,需要确定T-1或者T数据是否到期(T表示自然日),再对数据进行处理、统计和可视化显示;在频繁统计的情况下,增加了额外重复性的工作量,处理效率低;需要人工触发或定时触发,数据处理时效性低。
技术实现思路
针对现有技术中的问题,本申请提出了一种ETL调度方法及装置,能够提高ETL调度的准确性、灵活性和效率,进而能够提高数据处理的可靠性。第一方面,本申请提供一种ETL调度方法,包括:定时获取目标SQL语句列表,其中,所述目标SQL语句列表中包含有多条SQL语句,且各个所述SQL语句中均包含有对应的语句类型标识;若根据各个所述SQL语句的语句类型标识确定属于操作类型的SQL语句中包含有子查询,则该包含有子查询的SQL语句中还包含有用于获取待处理数据的源表的标识以及用于存储处理后的数据的目标表的标识;基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,该血缘对照关系表包含有至少一条ETL调度作业记录,且各条ETL调度作业记录中包括:包含有子查询的SQL语句对应的所述源表和所述目标表的标识;将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器,以使该目标调度服务器根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业。进一步地,所述基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,包括:若经判断得到所述血缘对照关系表中已存在将所述包含有子查询的SQL语句对应的源表的标识作为目标表的标识的历史记录,则在所述血缘对照关系表中创建一条与所述包含有子查询的SQL语句对应的第一新增有效记录,并删除所述历史记录;其中,所述第一新增有效记录中的目标表的标识为所述包含有子查询的SQL语句对应的目标表的标识,该第一新增有效记录中的源表的标识为所述历史记录中的源表的标识。进一步地,在所述将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器之前,还包括:若根据各个所述SQL语句的语句类型标识确定所述目标SQL语句列表中包含有属于删除类型的SQL语句,则该属于删除类型的SQL语句中包含有待删除数据表的标识;删除所述血缘对照关系表中将所述SQL语句对应的待删除数据表的标识作为源表的标识和/或目标表的标识的历史记录。进一步地,所述基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,包括:若经判断得到所述血缘对照关系表中不存在将所述SQL语句对应的源表的标识作为目标表的标识的历史记录,则在所述血缘对照关系表中创建一条与所述SQL语句对应的第二新增有效记录;其中,所述第二新增有效记录中的目标表的标识为所述SQL语句对应的目标表的标识,该第二新增有效记录中的源表的标识为所述SQL语句对应的源表的标识。进一步地,所述根据该血缘对照关系表、预存储的映射关系表、预获取的目标数据平台信息和目标SQL语句列表执行目标调度作业,包括:所述目标调度服务器确定所述血缘对照关系表中与该目标SQL语句列表对应的源表的标识,并从所述预存储的映射关系表中获得将该源表的标识作为目标表的标识的依赖作业记录;所述目标调度服务器判断所述依赖作业记录对应的依赖作业,在预设时间段内是否处于已完成状态,若是,则向该目标调度服务器对应的数据服务器发送数据处理请求,以使该数据服务器根据该数据处理请求完成对应的数据处理过程。进一步地,所述根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业,还包括:监控所述目标调度作业的作业状态,若目标调度作业的作业状态为已完成状态,则将所述目标ETL调度作业对应的目标表的数据输出显示。进一步地,所述将所述目标ETL调度作业对应的目标表的数据输出显示,包括:若经判断确定本地存在所述目标表对应的数据模型,则根据所述目标表的当前数据更新该数据模型,该数据模型包括:所述目标表的元数据和表数据的存储地址;根据所述数据模型生成对应的目标数据表,并将该目标数据表输出显示,该目标数据表包括:所述目标表的元数据和表数据。进一步地,所述将所述目标ETL调度作业对应的目标表的数据输出显示,包括:若经判断得到本地不存在所述目标表对应的数据模型,则根据所述目标表的当前数据创建所述数据模型,该数据模型包括:所述目标表的元数据和表数据的存储地址;根据所述数据模型生成对应的目标数据表,并将该目标数据表输出显示,该目标数据表包括:所述目标表的元数据和表数据。进一步地,所述目标调度服务器为定时根据所述血缘对照关系表更新所述预存储的映射关系表的服务器。第二方面,本申请提供一种ETL调度装置,包括:定时获取模块,用于定时获取目标SQL语句列表,其中,所述目标SQL语句列表中包含有多条SQL语句,且各个所述SQL语句中均包含有对应的语句类型标识;第一判断模块,若根据各个所述SQL语句的语句类型标识确定属于操作类型的SQL语句中包含有子查询,则该包含有子查询的SQL语句中还包含有用于获取待处理数据的源表的标识以及用于存储处理后的数据的目标表的标识;生成模块,用于基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,该血缘对照关系表包含有至少一条ETL调度作业记录,且各条ETL调度作业记录中包括:包含有子查询的SQL语句对应的所述源表和所述目标表的标识;执行模块,用于将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器,以使该目标调度服务器根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目本文档来自技高网
...

【技术保护点】
1.一种ETL调度方法,其特征在于,包括:/n定时获取目标SQL语句列表,其中,所述目标SQL语句列表中包含有多条SQL语句,且各个所述SQL语句中均包含有对应的语句类型标识;/n若根据各个所述SQL语句的语句类型标识确定属于操作类型的SQL语句中包含有子查询,则该包含有子查询的SQL语句中还包含有用于获取待处理数据的源表的标识以及用于存储处理后的数据的目标表的标识;/n基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,该血缘对照关系表包含有至少一条ETL调度作业记录,且各条ETL调度作业记录中包括:包含有子查询的SQL语句对应的所述源表和所述目标表的标识;/n将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器,以使该目标调度服务器根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业。/n

【技术特征摘要】
1.一种ETL调度方法,其特征在于,包括:
定时获取目标SQL语句列表,其中,所述目标SQL语句列表中包含有多条SQL语句,且各个所述SQL语句中均包含有对应的语句类型标识;
若根据各个所述SQL语句的语句类型标识确定属于操作类型的SQL语句中包含有子查询,则该包含有子查询的SQL语句中还包含有用于获取待处理数据的源表的标识以及用于存储处理后的数据的目标表的标识;
基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,该血缘对照关系表包含有至少一条ETL调度作业记录,且各条ETL调度作业记录中包括:包含有子查询的SQL语句对应的所述源表和所述目标表的标识;
将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器,以使该目标调度服务器根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业。


2.根据权利要求1所述的ETL调度方法,其特征在于,所述基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,包括:
若经判断得到所述血缘对照关系表中已存在将所述包含有子查询的SQL语句对应的源表的标识作为目标表的标识的历史记录,则在所述血缘对照关系表中创建一条与所述包含有子查询的SQL语句对应的第一新增有效记录,并删除所述历史记录;
其中,所述第一新增有效记录中的目标表的标识为所述包含有子查询的SQL语句对应的目标表的标识,该第一新增有效记录中的源表的标识为所述历史记录中的源表的标识。


3.根据权利要求1所述的ETL调度方法,其特征在于,在所述将所述血缘对照关系表和目标SQL语句列表发送至目标调度服务器之前,还包括:
若根据各个所述SQL语句的语句类型标识确定所述目标SQL语句列表中包含有属于删除类型的SQL语句,则该属于删除类型的SQL语句中包含有待删除数据表的标识;
删除所述血缘对照关系表中将所述SQL语句对应的待删除数据表的标识作为源表的标识和/或目标表的标识的历史记录。


4.根据权利要求1所述的ETL调度方法,其特征在于,所述基于所述包含有子查询的SQL语句的源表的标识和目标表的标识,生成血缘对照关系表,包括:
若经判断得到所述血缘对照关系表中不存在将所述SQL语句对应的源表的标识作为目标表的标识的历史记录,则在所述血缘对照关系表中创建一条与所述SQL语句对应的第二新增有效记录;
其中,所述第二新增有效记录中的目标表的标识为所述SQL语句对应的目标表的标识,该第二新增有效记录中的源表的标识为所述SQL语句对应的源表的标识。


5.根据权利要求1所述的ETL调度方法,其特征在于,所述目标调度服务器根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业,包括:
所述目标调度服务器确定所述血缘对照关系表中与该目标SQL语句列表对应的源表的标识,并从所述预存储的映射关系表中获得将该源表的标识作为目标表的标识的依赖作业记录;
所述目标调度服务器判断所述依赖作业记录对应的依赖作业,在预设时间段内是否处于已完成状态,若是,则向该目标调度服务器对应的数据服务器发送数据处理请求,以使该数据服务器根据该数据处理请求完成对应的数据处理过程。


6.根据权利要求1所述的ETL调度方法,其特征在于,所述根据预存储的映射关系表、目标数据平台信息、所述血缘对照关系表和目标SQL语句列表执行目标调度作业,还包括:
监控所述目标调度作业的作业状态,若目标调度作业的作业状态为已完成状态,则将所述目标ETL调度作业对应的目标表的数据输出显示。


7.根据权利要求6所述的ETL调度方法,其特征在于,所述将所述目标ETL调度作业对应的目标表的数据输出显示,包括:
若经判断确定本地存在所述目标表对应的数据...

【专利技术属性】
技术研发人员:沈梦婷孙丽娜张文翰朱姣姣
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1