大规模数据入湖方法和装置、电子设备以及存储介质与流程

摘要: 本公开属于大数据处理领域,具体涉及大规模数据入湖方法和装置、电子设备以及存储介质。背景技术:1、在信息技术飞速发展的今天,特别是随着数据中台的兴起,数据湖成为目...
大规模数据入湖方法和装置、电子设备以及存储介质与流程

本公开属于大数据处理领域,具体涉及大规模数据入湖方法和装置、电子设备以及存储介质。

背景技术:

1、在信息技术飞速发展的今天,特别是随着数据中台的兴起,数据湖成为目前主流的大数据处理技术手段。数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。数据湖支持结构化、半结构化和非结构化数据。在提升数据存储弹性和质量的同时还可以降低成本,减少数据冗余。由于数据都要在数据湖里集中处理,数据入湖就成了首先要解决的问题。数据入湖的难点在于源端数据库表多、表数据量大、不同系统表结构不统一、有些是事实表,有些则是维度表,不能统一处理。如果直接采用目前市场上的数据同步开源工具,则需要编写很多数据抽取的sql(结构化查询语言)脚本,源端表、目标表等信息都要手动处理。因此当前的数据入湖方法存在着效率低且易出错的问题。

技术实现思路

1、本公开提供大规模数据入湖方法和装置、电子设备以及存储介质,用于解决现有技术中大规模数据入湖方法存在的效率低且易出错的问题。

2、第一方面,本公开提供一种大规模数据入湖方法,包括:获取用户输入的系统代码;基于所述系统代码,在入湖基本信息表中查询与所述系统代码对应的源端数据库信息;基于源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句;基于所述查询语句从所述源端数据库抽取相应的查询数据至目标表中。

3、于本公开的一实施例中,所述字段信息表包括源端更新时间字段,基于所述源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句的实现方法包括:基于所述源端数据库类型确定所述查询语句的函数类型;对所述源端数据库中的所述源端更新时间字段设置索引;对所述源端更新时间进行格式转换,以获取转换后的源端更新时间;基于所述函数类型、所述转换后的源端更新时间、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述查询语句。

4、于本公开的一实施例中,所述源端数据库信息包括抽取方式,基于所述函数类型、所述转换后的源端更新时间、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述查询语句的实现方法包括:基于所述源端数据库的数据条数和所述目标表是否具有主键确定所述抽取方式,所述抽取方式为增量抽取或全量抽取;当所述抽取方式为所述增量抽取时,基于所述函数类型、所述转换后的源端更新时间、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述查询语句;当所述抽取方式为所述全量抽取时,基于所述函数类型、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述查询语句。

5、于本公开的一实施例中,基于所述查询语句从所述源端数据库抽取查询数据至目标表中的实现方法包括:定时获取所述源端数据库的字段变更信息;基于所述字段变更信息对所述字段信息表进行更新,以获取更新的字段信息表;基于所述更新的字段信息表对所述查询语句进行更新,以获取更新的查询语句;基于所述更新的查询语句从所述源端数据库抽取相应的查询数据至所述目标表中。

6、于本公开的一实施例中,基于所述更新的查询语句从所述源端数据库抽取相应的查询数据至所述目标表中的实现方法包括:基于所述更新的查询语句从所述源端数据库抽取相应的查询数据;基于字段映射表获取所述查询数据在所述目标表中对应的数据格式;基于所述数据格式将所述查询数据写入所述目标表中。

7、于本公开的一实施例中,基于所述源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句的实现方法包括:建立初始化任务,所述初始化任务用于从所述源端数据库中抽取数据至所述目标表中;基于所述源端数据库的数据条数和创建日期,对所述初始化任务进行拆分以获取拆分的子任务;基于所述子任务对应的查询日期、所述源端数据库类型、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述子任务对应的查询语句。

8、于本公开的一实施例中,基于所述查询语句从所述源端数据库抽取相应的查询数据至目标表中包括:获取所述子任务的历史运行时长数据,并且基于所述子任务和所述历史运行时长数据构建任务时长映射表;基于所述任务时长映射表对所述子任务进行历史运行时长的降序排序,以获取降序排序后的子任务;将所述降序排序后的子任务分配给当前累计运行时长最小的任务组,所述任务组初始的累计运行时长为0;对所述任务组内的任务顺序进行随机打乱处理,以获取任务顺序随机的任务组;对所述任务顺序随机的任务组以组间并行、组内串行的方式执行;基于所述任务顺序随机的任务组中执行的任务及其对应的所述查询语句从所述源端数据库抽取相应的查询数据至所述目标表中。

9、第二方面,本公开的实施例提供一种大规模数据入湖装置,包括:代码获取模块,用于获取用户输入的系统代码;信息查询模块,用于基于所述系统代码,在入湖基本信息表中查询与所述系统代码对应的源端数据库信息;语句生成模块,用于基于源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句;数据抽取模块,用于基于所述查询语句从所述源端数据库抽取相应的查询数据至目标表中。

10、第三方面,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序。该计算机程序被处理器执行时实现第一方面任一项所述大规模数据入湖方法。

11、第四方面,本公开实施例还提供一种电子设备。所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行第一方面任一项所述大规模数据入湖方法。

12、所述大规模数据入湖方法和装置、电子设备以及存储介质具有以下有益效果:

13、通过联动所述入湖基本信息表和字段信息表,生成源端数据库的查询语句,并且基于所述查询语句从所述源端数据库抽取查询数据至目标表中,所述数据入湖方法能够提高源端数据的入湖效率并且入湖过程不易出错。

1.一种大规模数据入湖方法,其特征在于,包括:

2.根据权利要求1所述的数据入湖方法,其特征在于,所述字段信息表包括源端更新时间字段,基于所述源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句的实现方法包括:

3.根据权利要求2所述的数据入湖方法,其特征在于,所述源端数据库信息包括抽取方式,基于所述函数类型、所述转换后的源端更新时间、所述源端数据库信息和所述源端数据库关联的字段信息表,生成所述查询语句的实现方法包括:

4.根据权利要求3所述的数据入湖方法,其特征在于,基于所述查询语句从所述源端数据库抽取查询数据至目标表中的实现方法包括:

5.根据权利要求4所述的数据入湖方法,其特征在于,基于所述更新的查询语句从所述源端数据库抽取相应的查询数据至所述目标表中的实现方法包括:

6.根据权利要求1所述的数据入湖方法,其特征在于,基于所述源端数据库类型、所述源端数据库信息和与所述源端数据库关联的字段信息表,生成所述源端数据库的查询语句的实现方法包括:

7.根据权利要求6所述的数据入湖方法,其特征在于,基于所述查询语句从所述源端数据库抽取相应的查询数据至目标表中包括:

8.一种大规模数据入湖装置,其特征在于,包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1至7中任一项所述的数据入湖方法。

10.一种电子设备,其特征在于,包括: