数据抽取方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:23190932 阅读:18 留言:0更新日期:2020-01-24 16:16
本申请涉及大数据技术领域,提供了一种数据抽取方法、装置、计算机设备和存储介质。其中方法包括:获取主键信息表;主键信息表用于存储从第一数据库中抽取并且成功加载至第二数据库中的数据的主键;将主键信息表中的主键与第一数据库对应的源数据表的主键进行比对,将比对不一致的主键确定为第一目标主键;从第一数据库中抽取与第一目标主键对应的数据,对抽取到的数据进行清洗和转换,得到目标加载数据;获取第二数据库对应的目标数据表的唯一键配置信息,根据唯一键配置信息对目标加载数据进行过滤,将过滤后的目标加载数据加载到目标数据表中;获取目标加载数据对应的第二目标主键,将获取的第二目标主键回写至主键信息表中以更新主键信息表。

Data extraction method, device, computer equipment and storage medium

【技术实现步骤摘要】
数据抽取方法、装置、计算机设备和存储介质
本申请涉及大数据
,特别是涉及一种数据抽取方法、装置、计算机设备和存储介质。
技术介绍
随着大数据时代的到来,不同数据库之间的数据交换需求越来越多,而ETL(ExtractTransformLoad,抽取转换加载)用于从源数据库中抽取数据,并将抽取的数据加载到目标数据库中。例如,从RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)数据库(例如,Oracle、MySQL等)中抽取数据,并将抽取的数据加载到Hadoop(分布式)数据库中。或者,从Hadoop数据库中抽取数据,并将抽取的数据加载到RDBMS数据库中。传统技术中,在进行抽取数据时,通常是基于时间窗口、基于数据主键ID增量同步数据、基于数据变化时间增量同步数据等方式抽取数据,通过这些方式抽取数据时,由于无法对源数据库中的数据的抽取状态进行标识,通常无法准确的抽取所有的增量数据,导致抽取数据时出现数据遗漏。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够保证抽取数据时不遗漏数据的数据抽取方法、装置、计算机设备和存储介质。一种数据抽取方法,所述方法包括:获取主键信息表;所述主键信息表用于存储从第一数据库中抽取并且成功加载至第二数据库中的数据的主键;将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,将比对不一致的主键确定为第一目标主键;从所述第一数据库中抽取与所述第一目标主键对应的数据,对抽取到的数据进行清洗和转换,得到目标加载数据;获取所述第二数据库对应的目标数据表的唯一键配置信息,根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中;获取所述目标加载数据对应的第二目标主键,将获取的所述第二目标主键回写至所述主键信息表中以对所述主键信息表进行更新。在其中一个实施例中,所述唯一键配置信息中包括至少一个目标字段;所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:将所述目标加载数据中所述目标字段对应的字段值与所述目标数据表中所述目标字段对应的字段值进行比对;当存在比对一致的字段值时,将所述比对一致的字段值对应的目标加载数据过滤掉,将剩下的目标加载数据加载到所述目标数据表中;当不存在比对一致的字段值时,将所有的目标加载数据加载至所述目标数据表中。在其中一个实施例中,在所述获取所述第二数据库对应的目标数据表的唯一键配置信息之前,所述方法还包括:将所述目标加载数据加载至第二数据库的临时数据表中;所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:按照第一预设时间间隔复制所述临时数据表中的目标加载数据;根据所述唯一键配置信息对已复制的所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中。在其中一个实施例中,在所述获取所述第二数据库对应的目标数据表的唯一键配置信息之前,所述方法还包括:将所述目标加载数据写入至异步消息队列中;所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:从所述异步消息队列中读取目标加载数据;根据所述唯一键配置信息对读取的所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中。在其中一个实施例中,在所述获取主键信息表之前,所述方法还包括:将所述第一数据库中的数据实时同步至分布式数据库中,并在所述分布式数据库中创建主键信息表;所述获取主键信息表,包括:从所述分布式数据库中获取主键信息表;所述将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,包括:将所述主键信息表中的主键与分布式数据库中的源数据表的主键进行比对;从所述第一数据库中抽取与所述第一目标主键对应的数据,包括:从所述分布式数据库中抽取主键为所述第一目标主键的数据。在其中一个实施例中,所述将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,包括:将所述主键信息表中的主键与所述第一数据库对应的源数据表中目标时间段对应的主键进行比对;所述从所述第一数据库中抽取与所述第一目标主键对应的数据,包括:按照第二预设时间间隔从所述第一数据库中抽取与所述第一目标主键对应的数据。一种数据抽取装置,所述装置包括:主键信息表获取模块,用于获取主键信息表;所述主键信息表用于存储从第一数据库中抽取并且成功加载至第二数据库中的数据的主键;主键比对模块,用于将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,将比对不一致的主键确定为第一目标主键;数据抽取模块,用于从所述第一数据库中抽取与所述第一目标主键对应的数据,对抽取到的数据进行清洗和转换,得到目标加载数据;数据加载模块,用于获取所述第二数据库对应的目标数据表的唯一键配置信息,根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中;主键信息表更新模块,用于获取所述目标加载数据对应的第二目标主键,将获取的所述第二目标主键回写至所述主键信息表中以对所述主键信息表进行更新。在其中一个实施例中,所述唯一键配置信息中包括至少一个目标字段;所述数据加载模块还用于将所述目标加载数据中所述目标字段对应的字段值与所述目标数据表中所述目标字段对应的字段值进行比对;当存在比对一致的字段值时,将所述比对一致的字段值对应的目标加载数据过滤掉,将剩下的目标加载数据加载到所述目标数据表中;当不存在比对一致的字段值时,将所有的目标加载数据加载至所述目标数据表中。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意实施例所述的数据抽取方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意实施例所述的数据抽取方法的步骤。上述数据抽取方法、装置、计算机设备和存储介质,在从第一数据库中抽取数据时,将第一数据库对应的源数据表的主键与主键信息表的主键进行比对,将比对不一致的主键确定为第一目标主键,并根据该第一目标主键从数据库中抽取数据,由于主键信息表中存储的是从第一数据库中抽取并且成功加载至第二数据库中的数据的主键,因此,将第一数据库对应的主键与主键信息表的主键进行比对时,可以将第一数据库中所有未被加载的数据抽取出来,确保不遗漏数据,进一步,数据抽取出来后,进过清洗和转换加载至第二数据库中时,由于根据唯一键配置信息对目标加载数据进行了过滤,可以避免出现重复加载数据的情况,最后通过回写被抽取的数据的主键对主键信息表不断地本文档来自技高网...

【技术保护点】
1.一种数据抽取方法,所述方法包括:/n获取主键信息表;所述主键信息表用于存储从第一数据库中抽取并且成功加载至第二数据库中的数据的主键;/n将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,将比对不一致的主键确定为第一目标主键;/n从所述第一数据库中抽取与所述第一目标主键对应的数据,对抽取到的数据进行清洗和转换,得到目标加载数据;/n获取所述第二数据库对应的目标数据表的唯一键配置信息,根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中;/n获取所述目标加载数据对应的第二目标主键,将获取的所述第二目标主键回写至所述主键信息表中以对所述主键信息表进行更新。/n

【技术特征摘要】
1.一种数据抽取方法,所述方法包括:
获取主键信息表;所述主键信息表用于存储从第一数据库中抽取并且成功加载至第二数据库中的数据的主键;
将所述主键信息表中的主键与所述第一数据库对应的源数据表的主键进行比对,将比对不一致的主键确定为第一目标主键;
从所述第一数据库中抽取与所述第一目标主键对应的数据,对抽取到的数据进行清洗和转换,得到目标加载数据;
获取所述第二数据库对应的目标数据表的唯一键配置信息,根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中;
获取所述目标加载数据对应的第二目标主键,将获取的所述第二目标主键回写至所述主键信息表中以对所述主键信息表进行更新。


2.根据权利要求1所述的方法,其特征在于,所述唯一键配置信息中包括至少一个目标字段;所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:
将所述目标加载数据中所述目标字段对应的字段值与所述目标数据表中所述目标字段对应的字段值进行比对;
当存在比对一致的字段值时,将所述比对一致的字段值对应的目标加载数据过滤掉,将剩下的目标加载数据加载到所述目标数据表中;
当不存在比对一致的字段值时,将所有的目标加载数据加载至所述目标数据表中。


3.根据权利要求1所述的方法,其特征在于,在所述获取所述第二数据库对应的目标数据表的唯一键配置信息之前,所述方法还包括:
将所述目标加载数据加载至第二数据库的临时数据表中;
所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:
按照第一预设时间间隔复制所述临时数据表中的目标加载数据;
根据所述唯一键配置信息对已复制的所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中。


4.根据权利要求1所述的方法,其特征在于,在所述获取所述第二数据库对应的目标数据表的唯一键配置信息之前,所述方法还包括:
将所述目标加载数据写入至异步消息队列中;
所述根据所述唯一键配置信息对所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中,包括:
从所述异步消息队列中读取目标加载数据;
根据所述唯一键配置信息对读取的所述目标加载数据进行过滤,将过滤后的所述目标加载数据加载到所述目标数据表中。


5.根据权利要求1所述的方法,其特征在于,在所述获取主键信息表之前,所述方法还包括:
将所述第一数据库中的数据实时同步至分布式数据库中,并在所述分布...

【专利技术属性】
技术研发人员:封韫清
申请(专利权)人:上海陆家嘴国际金融资产交易市场股份有限公司
类型:发明
国别省市:上海;31

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

1