多源同表数据加载方法、装置、设备及介质制造方法及图纸

技术编号:27975436 阅读:25 留言:0更新日期:2021-04-06 14:09
本申请公开了一种多源同表数据加载方法、装置、设备及介质。该方法包括:获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。由此,无需每个表都开发一个任务,解决了数据仓库表数量多、任务数量多及任务配置繁琐的问题,提高了数据仓库的数据加载效率,降低了数据仓库的繁琐程度。

【技术实现步骤摘要】
多源同表数据加载方法、装置、设备及介质
本专利技术涉及数据仓库数据加载领域,特别涉及一种多源同表数据加载方法、装置、设备及介质。
技术介绍
当前,随着电商平台业务线不断增加,由于拼经销业务线是根据供应商来创建数据库,一个供应商对应一个数据库,每个数据库里的表数量及表结构完全一样。以拼经销为例,假定有100家供应商入驻,对应就有100个源数据库,每个源数据库里包含200张源数据表,按照正常的数据加载方案,数据仓库中会有2万张表,每个表对应一个数据加载任务,就对应有2万个任务。但随着供应商数量的增加,数据仓库中表的数量及任务数量呈指数级增加,给数据仓库数据加载带来非常大的挑战,对于数据仓库的应用及维护带来非常大的不便,当数据仓库需要增加新表或者增加新供应商的时候,数据仓库的配置就显得非常的繁琐且极易出现问题,开发的工作量也非常的大,每个表都需要独立开发一个任务。并且,任务数量增加之后,后续的调度配置非常的复杂且极容易出现遗漏及错误。降低了数据仓库的数据加载效率以及数据仓库的繁琐程度。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种多源同表数据加载方法、装置、设备及介质,能够提高数据仓库的数据加载效率,降低数据仓库的繁琐程度。其具体方案如下:第一方面,本申请公开了一种多源同表数据加载方法,包括:获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。可选的,所述数据源库配置表包含serverID、源主机名、源数据库名、源用户名、源密码、端口号、目标主机名、目标数据库名、目标用户名和目标用户密码;所述数据源表配置表包含serverID、目标表名、源数据表名、增量字段、增量值、增量标识、查询字段和过滤条件。可选的,所述根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码,包括:根据所述目标表名查询所述数据源表配置表中对应的增量标识,以确定数据加载方式;根据所述数据源表配置表中的serverID,从所述数据源库配置表中获取对应的源数据库名;若所述数据加载方式为增量加载,则基于所述目标表名对应的增量值、过滤条件、源数据库名和源数据表名生成数据查询代码;若所述数据加载方式为全量加载,则基于所述目标表名对应的过滤条件、源数据库名和源数据表名生成数据查询代码,并清空所述目标数据表。可选的,所述运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表,包括:若所述数据加载方式为增量加载,则根据所述数据查询代码中的源数据库名和源数据表名,确定出相应的源数据库中与所述目标数据表的类型相同的源数据表;根据所述数据查询代码中的增量值,获取所述源数据表从最大记录更新时间到当前时间之间更新的数据内容;将获取的多个源数据表的数据内容存放至中间表,并利用所述中间表将所述数据内容加载至所述目标数据表。可选的,所述运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表,包括:若所述数据加载方式为全量加载,则根据所述数据查询代码中的源数据库名和源数据表名,确定出相应的源数据库中与所述目标数据表的类型相同的源数据表;获取所述源数据表中的全部数据内容;将获取的多个源数据表的数据内容存放至中间表,并利用所述中间表将所述数据内容加载至所述目标数据表。可选的,所述将获取的多个源数据表的数据内容存放至中间表,并利用所述中间表将所述数据内容加载至所述目标数据表,包括:将获取的多个源数据表的数据内容存放至中间表,并对所述数据内容添加对应的源数据库标识;利用所述中间表,将所述数据内容和对应的源数据库标识加载至所述目标数据表。可选的,所述将所述数据内容加载至所述目标数据表之后,还包括:通过所述中间表获取所述源数据表的最新更新时间,并将所述最新更新时间作为增量值记录至所述数据源表配置表;清空所述中间表。第二方面,本申请公开了一种多源同表数据加载装置,包括:目标表名获取模块,用于获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;查询代码生成模块,用于根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;数据加载模块,用于运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。第三方面,本申请公开了一种电子设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述的多源同表数据加载方法。第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的多源同表数据加载方法。本申请中,通过获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;然后,根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;最后,运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。本申请在获取目标表名后,通过查询数据源库配置表和数据源表配置表,可以确定出不同源数据库中与目标表名类型相同的所有源数据表,然后通过全量加载方式或增量加载方式,获取到相应的数据内容存入数据仓库中的目标数据表;可见,不同源数据库中同一类型源数据表的数据,存放在数据仓库的一个目标数据表内,由此,数据仓库中数据表的数量不会受到源数据库数量的影响;并且,每次数据加载通过自动查询数据源库配置表和数据源表配置表,自动拼接生成数据查询代码,由此,数据加载使用统一的任务模板,无需每个表都开发一个任务,任务执行时长缩减到一个表的任务加载时长;解决了数据仓库表数量多、任务数量多,任务配置繁琐,以及任务加载耗时的问题,提高了数据仓库的数据加载效率,降低了数据仓库的繁琐程度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通本文档来自技高网...

【技术保护点】
1.一种多源同表数据加载方法,其特征在于,包括:/n获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;/n根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;/n运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。/n

【技术特征摘要】
1.一种多源同表数据加载方法,其特征在于,包括:
获取目标表名;所述目标表名为数据仓库中待加载数据的目标数据表的表名;
根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码;其中,所述数据加载方式包括全量加载和增量加载;
运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表。


2.根据权利要求1所述的多源同表数据加载方法,其特征在于,所述数据源库配置表包含serverID、源主机名、源数据库名、源用户名、源密码、端口号、目标主机名、目标数据库名、目标用户名和目标用户密码;
所述数据源表配置表包含serverID、目标表名、源数据表名、增量字段、增量值、增量标识、查询字段和过滤条件。


3.根据权利要求2所述的多源同表数据加载方法,其特征在于,所述根据所述目标表名查询预先创建的数据源库配置表和数据源表配置表,以确定数据加载方式,并生成数据查询代码,包括:
根据所述目标表名查询所述数据源表配置表中对应的增量标识,以确定数据加载方式;
根据所述数据源表配置表中的serverID,从所述数据源库配置表中获取对应的源数据库名;
若所述数据加载方式为增量加载,则基于所述目标表名对应的增量值、过滤条件、源数据库名和源数据表名生成数据查询代码;
若所述数据加载方式为全量加载,则基于所述目标表名对应的过滤条件、源数据库名和源数据表名生成数据查询代码,并清空所述目标数据表。


4.根据权利要求3所述的多源同表数据加载方法,其特征在于,所述运行所述数据查询代码并根据所述数据加载方式,从不同的源数据库中获取与所述目标数据表的类型相同的多个源数据表的数据内容,并将所述数据内容加载至所述目标数据表,包括:
若所述数据加载方式为增量加载,则根据所述数据查询代码中的源数据库名和源数据表名,确定出相应的源数据库中与所述目标数据表的类型相同的源数据表;
根据所述数据查询代码中的增量值,获取所述源数据表从最大记录更新时间到当前时间之间更新的数据内容;
将获取的多个源数据表的数据内容存放至中间表,并利用所述中间表将所述数据内容加载至所述目标数据表。


5...

【专利技术属性】
技术研发人员:翟振华
申请(专利权)人:杭州拼便宜网络科技有限公司
类型:发明
国别省市:浙江;33

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

1