一种用于DataX系统的json文件生成方法、装置及电子设备制造方法及图纸

技术编号:37256502 阅读:18 留言:0更新日期:2023-04-20 23:32
本公开涉及数据处理技术领域,具体涉及一种用于DataX系统的json文件生成方法、装置及电子设备。方法包括:基于源数据库中的第一数据表和目标数据库中的第二数据表的表结构信息生成查询语句,其中,所述查询语句用于获取所述第一数据表和所述第二数据表中同时存在的字段,所述第二数据表是所述第一数据表从所述源数据库映射到所述目标数据库后形成的对应数据表;对所述同时存在的字段的每个字段获取所述字段在所述第二数据表中的字段类型;基于所述查询语句和所述字段类型生成所述json文件。本发明专利技术通过基于源数据表和目标数据表的表结构自动生成json文件从而解决了手动配置json文件效率低下且容易出错的问题。json文件效率低下且容易出错的问题。json文件效率低下且容易出错的问题。

【技术实现步骤摘要】
一种用于DataX系统的json文件生成方法、装置及电子设备


[0001]本公开涉及数据处理
,具体涉及一种用于DataX系统的json文件生成方法、装置及电子设备。

技术介绍

[0002]DataX是被广泛使用的离线数据同步工具/平台。致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
[0003]使用datax时需要配置一个json文件, json文件需配置的内容主要有:
•ꢀ
配置需要读取和存储的数据源信息
•ꢀ
配置读取的表和对应字段或者查询语句
•ꢀ
配置写入的表和对应字段信息目前中小企业使用datax开发时对大部分数据清洗任务都是手动配置json文件,即在录入有关数据库表字段数据时采用手工录入的方式。但是,在手动配置查询语句时,部分数据库的数据类型还要转换成java的数据类型导致效率低下,例如需要将oracle数据库的number(24,4)转换为double;同时如果数据库被设置为大小写敏感,很容易因为查询语句与数据表中的字段名称的大小写不适配而报错,如数据表中字段为Id,Name,如果查询语句写成id,name,就会因为大小写不适配报错。因此,手动配置json文件的方法效率低下且容易出错。

技术实现思路

[0004]本公开实施例提出了一种用于DataX系统的json文件生成方法、装置、电子设备、一种计算机可读存储介质及一种计算机程序产品,以解决手动配置json文件效率低下且容易出错的问题。
[0005]本公开实施例的第一方面提供了一种用于DataX系统的json文件生成方法,包括:获取源数据库中的第一数据表和目标数据库中的第二数据表的表结构信息,在一些实施例中,基于所述第一数据表和所述第二数据表的表结构信息分别生成字段信息记录表和字段类型映射表;所述获取源数据库中的第一数据表和目标数据库中的第二数据表中同时存在的字段包括:通过内联所述第一数据表和所述第二数据表的字段信息记录表获取所述第一数据表和所述第二数据表中同时存在的字段。
[0006]在一些实施例中,所述生成查询语句包括:将所述第一数据表和所述第二数据表的的字段信息记录表同步到本地字段信息记录表;基于所述本地字段信息记录表生成所述查询语句。
[0007]在一些实施例中,所述生成查询语句包括:如果所述DataX系统被配置为自动映射,则通过所述第一数据表和所述第二数据表的表结构信息自动生成所述查询语句。
[0008]在一些实施例中,如果所述DataX系统被配置为大小写敏感,则所述生成查询语句之后还包括:将所述查询语句中的字段用所述第一数据表中的相应字段进行逐个替换。
[0009]对所述同时存在的字段的每个字段获取所述字段在所述第二数据表中的字段类型。
[0010]在一些实施例中,所述获取所述字段在所述第二数据表中的字段类型包括:通过字段类型映射表获取所述字段在所述第二数据表中的字段类型。
[0011]在一些实施例中,所述获取所述字段在所述第二数据表中的字段类型之后还包括:如果所述字段类型是数值类型,则通过精度字段进一步判断所述字段的细分类型,并根据预设规则对所述细分类型进行格式转化。
[0012]基于所述查询语句和所述字段类型生成所述json文件。
[0013]本公开实施例的第二方面提供了一种用于DataX系统的json文件生成装置,包括:第一生成模块,用于基于源数据库中的第一数据表和目标数据库中的第二数据表的表结构信息生成查询语句,其中,所述查询语句用于获取所述第一数据表和所述第二数据表中同时存在的字段,所述第二数据表是所述第一数据表从所述源数据库映射到所述目标数据库后形成的对应数据表;获取模块,用于对所述同时存在的字段的每个字段获取所述字段在所述第二数据表中的字段类型;第二生成模块,用于基于所述查询语句和所述字段类型生成所述json文件。
[0014]本公开实施例的第三方面提供了一种电子设备,包括存储器和处理器,所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现根据本公开第一方面所述的方法。
[0015]本公开实施例的第四方面提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本公开第一方面所述的方法。
[0016]本公开实施例的第五方面提供了一种计算机程序产品,包括计算机程序、指令,当所述计算机程序、指令被处理器执行时,实现根据本公开第一方面所述的方法。[11]本公开通过基于源数据表和目标数据表的表结构自动生成json文件从而解决手动配置json文件效率低下且容易出错的问题。其中通过自动映射功能和大小写敏感适配功能可以快速准确地生成适配大小写敏感的查询语句从而避免手动配置json文件时如果数据库被设置为大小写敏感,很容易json文件中生成字段信息从而避免手动配置json文件时因为部分数据库的数据类型还要转换成java的数据类型从而效率低下的问题。
附图说明
[0017]通过参考附图会更加清楚的理解本公开的特征和优点,附图是示意性的而不应理
解为对本公开进行任何限制,在附图中:图1是本公开适用的一种计算机系统的示意图;图2是根据本公开的一些实施例所示的一种用于DataX系统的json文件生成方法的流程图;图3是根据本公开的一些实施例所示的一种用于DataX系统的json文件生成方法的活动图;图4是根据本公开的一些实施例所示的一种用于DataX系统的json文件生成装置的示意图;图5是根据本公开的一些实施例所示的一种电子设备示意图。
具体实施方式
[0018]在下面的详细描述中,通过示例阐述了本公开的许多具体细节,以便提供对相关披露的透彻理解。然而,对于本领域的普通技术人员来讲,本公开显而易见的可以在没有这些细节的情况下实施。应当理解的是,本公开中使用“系统”、“装置”、“单元”和/或“模块”术语,是用于区分在顺序排列中不同级别的不同部件、元件、部分或组件的一种方法。然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换。
[0019]应当理解的是,当设备、单元或模块被称为“在
……
上”、“连接到”或“耦合到”另一设备、单元或模块时,其可以直接在另一设备、单元或模块上,连接或耦合到或与其他设备、单元或模块通信,或者可以存在中间设备、单元或模块,除非上下文明确提示例外情形。例如,本公开所使用的术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。
[0020]本公开所用术语仅为了描述特定实施例,而非限制本公开范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或组件,而该类表本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于DataX系统的json文件生成方法,其特征在于,包括:基于源数据库中的第一数据表和目标数据库中的第二数据表的表结构信息生成查询语句,其中,所述查询语句用于获取所述第一数据表和所述第二数据表中同时存在的字段,所述第二数据表是所述第一数据表从所述源数据库映射到所述目标数据库后形成的对应数据表;对所述同时存在的字段的每个字段获取所述字段在所述第二数据表中的字段类型;基于所述查询语句和所述字段类型生成所述json文件。2.根据权利要求1所述的方法,其特征在于,如果所述DataX系统被配置为大小写敏感,则所述生成查询语句之后还包括:将所述查询语句中的字段用所述第一数据表中的相应字段进行逐个替换。3.根据权利要求2所述的方法,其特征在于,所述获取所述字段在所述第二数据表中的字段类型之后还包括:如果所述字段类型是数值类型,则通过精度字段进一步判断所述字段的细分类型,并根据预设规则对所述细分类型进行格式转化。4.根据权利要求1所述的方法,其特征在于,所述获取所述第一数据表和所述第二数据表中同时存在的字段包括:通过内联所述第一数据表和所述第二数据表的字段信息记录表获取所述第一数据表和所述第二数据表中同时存在的字段,其中,所述字段信息记录表为预先基于所述第一数据表和所述第二数据表的表结构生成。5.根据权利要求1所述的方法,其特征在于,所述获取所述字段在所述第二数据表中的字段类型包括:通过字段类型映射表获取所述字段在所述第二数据表中的字段类型,其中,所述字段类型映...

【专利技术属性】
技术研发人员:杨阳蔡杰陈旭
申请(专利权)人:深圳迅策科技有限公司
类型:发明
国别省市:

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

1