数据抽取-转换-加载ETL的批处理脚本生成方法和装置制造方法及图纸

技术编号:37719339 阅读:16 留言:0更新日期:2023-06-02 00:17
本公开关于一种数据抽取

【技术实现步骤摘要】
数据抽取

转换

加载ETL的批处理脚本生成方法和装置


[0001]本公开涉及程序设计
,尤其涉及一种数据抽取

转换

加载ETL的批处理脚本生成方法和装置。

技术介绍

[0002]相关技术中,针对抽取

转换

加载(Extract

Transform

Load,简称ETL)自动化,一般是通过获取源数据库、目标数据库的元数据信息,通过元数据信息作为辅助来帮助进行加工映身,从而达到降低数据加工代码开发的工作量的目的,但在大数据的数据加工应用场景中,主要关注数据的分析处理逻辑,数据的加工处理相对会更加复杂,难以简单的利用元数据信息就完成数据加工映射定义,在支持多数据库类型方面,确定了源数据库和目标的数据库类型后,脚本也是针对特定的数据库来开发的,脚本并不能快速的调整支持其它的数据库类型,因此,如何通过一套ETL脚本加工的处理逻辑,提高ETL脚本自动生成的效率,并使ETL脚本支持多种数据库类型,已成为亟待解决的问题。

技术实现思路

[0003]本公开提供一种数据抽取

转换

加载ETL的批处理脚本生成方法、装置、电子设备、计算机可读存储介质和计算机程序产品,以至少解决相关技术中ETL脚本加工的处理逻辑复杂,ETL脚本不支持多种数据库类型的问题。
[0004]本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种数据抽取

转换

加载ETL的批处理脚本生成方法,包括:对ETL批处理程序的通用结构进行抽象,获取结构化数据的实例化文档;接收输入的目标脚本类型,并获取与所述目标脚本类型匹配的目标脚本生成模板;根据所述实例化文档中的数据项信息进行语句加工,得到目标结构化查询语言SQL语句;使用所述目标SQL语句对所述目标脚本模板进行填充,生成ETL批处理脚本。
[0006]在本公开的一个实施例中,所述根据所述实例化文档中的数据项信息进行语句加工,得到目标结构化查询语言SQL语句,包括:对所述实例化文档按组进行遍历,获取每组的数据项信息;对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句。
[0007]在本公开的一个实施例中,所述对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句,包括:从所述数据项信息中获取标签类型,并根据所述标签类型,确定SQL语句结构;获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入其他数据项,生成所述目标SQL语句。
[0008]在本公开的一个实施例中,所述对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句,包括:从所述数据项信息中获取标签类型,并根据所述标签类型,确定SQL语句结构;获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入其他数据项,生成所述目标SQL语句。
[0009]在本公开的一个实施例中,所述根据所述标签类型,确定SQL语句结构,包括:
[0010]接收输入的目标数据库类型;根据所述目标数据库类型,确定所述实例化文档中是否包括扩展类型标签;若存在所述扩展类型标签,根据所述扩展类型标签,从多个数据库的SQL语句结构中,确定与所述目标数据库类型匹配的目标SQL语句结构。
[0011]在本公开的一个实施例中,所述获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入数据项,生成所述目标SQL语句,包括:根据所述扩展类型标签和所述子标签类型,确定扩展子标签类型;根据所述扩展子标签类型,在所述目标SQL语句结构中写入数据项,生成所述目标SQL语句。
[0012]在本公开的一个实施例中,所述使用所述目标SQL语句对所述目标脚本模板进行填充,生成ETL批处理脚本,包括:从所述实例化文档中获取分组之间的条件控制标签;根据所述条件控制标签,生成每组的所述目标SQL语句之间的执行逻辑语句;将每组的所述目标SQL语句,按照所述执行逻辑语句进行组合,并填充至所述目标脚本模板中,生成所述ETL批处理脚本。
[0013]在本公开的一个实施例中,所述方法还包括:对所述实例化文档的描述信息进行提取,并根据所述描述信息生成所述ETL批处理脚本的注释信息;基于所述注释信息对所述ETL批处理脚本的文件名和头文件进行注释。
[0014]根据本公开实施例的第二方面,提供一种数据抽取

转换

加载ETL的批处理脚本生成装置,包括:第一获取模块,被配置为对ETL批处理程序的通用结构进行抽象,获取结构化数据的实例化文档;第二获取模块,被配置为接收输入的目标脚本类型,并获取与所述目标脚本类型匹配的目标脚本生成模板;加工模块,被配置为根据所述实例化文档中的数据项信息进行语句加工,得到目标结构化查询语言SQL语句;生成模块,被配置为使用所述目标SQL语句对所述目标脚本模板进行填充,生成ETL批处理脚本。
[0015]在本公开的一个实施例中,所述加工模块,还被配置为:对所述实例化文档按组进行遍历,获取每组的数据项信息;对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句。
[0016]在本公开的一个实施例中,所述加工模块,还被配置为:从所述数据项信息中获取标签类型,并根据所述标签类型,确定SQL语句结构;获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入其他数据项,生成所述目标SQL语句。在本公开的一个实施例中,
[0017]在本公开的一个实施例中,所述加工模块,还被配置为:获取所述子标签类型对应的SQL语句片段和所述子标签类型的数据项;在每个所述子标签类型对应的SQL语句片段中写入所述子标签类型的数据项;按照所述子标签类型的逻辑关系,对所述SQL语句片段进行组合,生成所述SQL语句。
[0018]在本公开的一个实施例中,所述加工模块,还被配置为:接收输入的目标数据库类型;根据所述目标数据库类型,确定所述实例化文档中是否包括扩展类型标签;若存在所述扩展类型标签,根据所述扩展类型标签,从多个数据库的SQL语句结构中,确定与所述目标数据库类型匹配的目标SQL语句结构。
[0019]在本公开的一个实施例中,所述加工模块,还被配置为:根据所述扩展类型标签和所述子标签类型,确定扩展子标签类型;根据所述扩展子标签类型,在所述目标SQL语句结构中写入数据项,生成所述目标SQL语句。
[0020]在本公开的一个实施例中,所述生成模块,还被配置为:从所述实例化文档中获取分组之间的条件控制标签;根据所述条件控制标签,生成每组的所述目标SQL语句之间的执行逻辑语句;将每组的所述目标SQL语句,按照所述执行逻辑语句进行组合,并填充至所述目标脚本模板中,生成所述ETL批处理脚本。
[0021]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据抽取

转换

加载ETL的批处理脚本生成方法,其特征在于,所述方法包括:对ETL批处理程序的通用结构进行抽象,获取结构化数据的实例化文档;接收输入的目标脚本类型,并获取与所述目标脚本类型匹配的目标脚本生成模板;根据所述实例化文档中的数据项信息进行语句加工,得到目标结构化查询语言SQL语句;使用所述目标SQL语句对所述目标脚本模板进行填充,生成ETL批处理脚本。2.根据权利要求1所述的方法,其特征在于,所述根据所述实例化文档中的数据项信息进行语句加工,得到目标结构化查询语言SQL语句,包括:对所述实例化文档按组进行遍历,获取每组的数据项信息;对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句。3.根据权利要求2所述的方法,其特征在于,所述对同一组的数据项信息进行语句加工,得到每组的所述目标SQL语句,包括:从所述数据项信息中获取标签类型,并根据所述标签类型,确定SQL语句结构;获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入其他数据项,生成所述目标SQL语句。4.根据权利要求3所述的方法,其特征在于,所述根据所述子标签类型,在所述SQ L语句结构中写入其他数据项,生成所述目标SQL语句,包括:获取所述子标签类型对应的SQL语句片段和所述子标签类型的数据项;在每个所述子标签类型对应的SQL语句片段中写入所述子标签类型的数据项;按照所述子标签类型的逻辑关系,对所述SQL语句片段进行组合,生成所述SQL语句。5.根据权利要求3所述的方法,其特征在于,所述根据所述标签类型,确定SQL语句结构,包括:接收输入的目标数据库类型;根据所述目标数据库类型,确定所述实例化文档中是否包括扩展类型标签;若存在所述扩展类型标签,根据所述扩展类型标签,从多个数据库的SQL语句结构中,确定与所述目标数据库类型匹配的目标SQL语句结构。6.根据权利要求5所述的方法,其特征在于,所述获取所述标签类型包括的子标签类型,并根据所述子标签类型,在所述SQL语句结构中写入数据项,生成所述目标SQL语句,包括:根据所述扩展类型标签和所述子标签类型,确定扩展子标签类型;根据所述扩展子标签类型,在所述目标SQL语句结构中写入数据项,生成所述目标SQL语句。7.根据权利要求2

6中任一项所述的方法,其特征在于,所述使用所述目标SQL语句对所述目标脚本模板进行填充,生成ETL批处理脚本,包括:从所述实例化文档中获取分组之间的条件控制标签;根据所述条件控制标签,生成每组的所述目标SQL语句之间的执行逻辑语句;将每组的所述目标SQL语句,按照所述执行逻辑语句进行组合,并填充至所述目标脚本模板中,生成所述ETL批处理脚本。8.根据权利要求2

6中任一项所述的方法,其特征在于,所述方法还包括:
对所述实例化文档的描述信息进行提取,并根据所述描述信息生成所述ETL批处理脚本的注释信息;基于所述注释信息对所述ETL批处理脚本的文件名和头文件进行注释。9.一种一种数据抽取

转换

加载ETL的批处理脚本生成装置,其特征在于,包括:第一获取模块,被配置为对ETL批处理程序的通用结构进行抽象,获取结构化数据的实例化文档;第二获取模块,被配置为接收输入的目标脚本类型,并获取与所述...

【专利技术属性】
技术研发人员:陈伟江
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1