【技术实现步骤摘要】
数据抽取
‑
转换
‑
加载ETL的批处理脚本生成方法和装置
[0001]本公开涉及程序设计
,尤其涉及一种数据抽取
‑
转换
‑
加载ETL的批处理脚本生成方法和装置。
技术介绍
[0002]相关技术中,针对抽取
‑
转换
‑
加载(Extract
‑
Transform
‑
Load,简称ETL)自动化,一般是通过获取源数据库、目标数据库的元数据信息,通过元数据信息作为辅助来帮助进行加工映身,从而达到降低数据加工代码开发的工作量的目的,但在大数据的数据加工应用场景中,主要关注数据的分析处理逻辑,数据的加工处理相对会更加复杂,难以简单的利用元数据信息就完成数据加工映射定义,在支持多数据库类型方面,确定了源数据库和目标的数据库类型后,脚本也是针对特定的数据库来开发的,脚本并不能快速的调整支持其它的数据库类型,因此,如何通过一套ETL脚本加工的处理逻辑,提高ETL脚本自动生成的效率,并使ETL脚本支持多种数据库类型,已成为亟待解决的问题。
技术实现思路
[0003]本公开提供一种数据抽取
‑
转换
‑
加载ETL的批处理脚本生成方法、装置、电子设备、计算机可读存储介质和计算机程序产品,以至少解决相关技术中ETL脚本加工的处理逻辑复杂,ETL脚本不支持多种数据库类型的问题。
[0004]本公开的技术方案如下:
[0005]根据 ...
【技术保护点】
【技术特征摘要】
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批处理程序的通用结构进行抽象,获取结构化数据的实例化文档;第二获取模块,被配置为接收输入的目标脚本类型,并获取与所述...
【专利技术属性】
技术研发人员:陈伟江,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。