数据传输方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:32462852 阅读:18 留言:0更新日期:2022-02-26 08:55
本申请提供一种数据传输方法、装置、电子设备及计算机可读存储介质,属于计算机技术领域。该方法包括获取并解析用户输入的数据库连接字符串,得到连接字符串包含的连接参数;根据连接参数确定需要连接的目标分布式数据库类型;根据目标分布式数据库类型调用对应的目标驱动类,与目标分布式数据库建立连接;从目标分布式数据库中获取目标数据,并将目标数据的数据类型映射为目标分布式数据库的数据类型对应的Java数据类型,并做序列化处理,将序列化后的目标数据写入Hadoop数据库。通过调用与目标分布式数据库类型对应的目标驱动类,实现与目标分布式数据库连接,进而实现将目标分布式数据库中的数据写入Hadoop数据库中。布式数据库中的数据写入Hadoop数据库中。布式数据库中的数据写入Hadoop数据库中。

【技术实现步骤摘要】
数据传输方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及计算机的
,具体而言,涉及一种数据传输方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着信创工程在金融行业的实施,越来越多的金融企业开始使用国产数据库替换oracle、mysql等传统数据库,其中国产分布式数据库(oceanbase、tdsql、kingwow等)越来越广泛应用于核心业务系统。
[0003]Sqoop工具是在Hadoop生态体系和关系型数据库之间传送数据的一种开源工具,Sqoop工具对oracle、mysql等传统数据库支持性很好,但Sqoop工具无法实现在国产分布式数据库与Hadoop生态体系之间的数据传输。

技术实现思路

[0004]本申请提供一种数据传输方法、装置、电子设备及计算机可读存储介质,以解决现有技术中的Sqoop工具无法实现在分布式数据库与Hadoop生态体系之间进行数据传输的问题。
[0005]第一方面,本申请实施例提供一种数据传输方法,应用于部署有Sqoop工具的电子设备,所述方法包括:获取并解析用户输入的数据库连接字符串,得到所述连接字符串包含的连接参数;根据所述连接参数确定需要连接的目标分布式数据库类型;根据所述目标分布式数据库类型调用对应的目标驱动类,与目标分布式数据库建立连接;从所述目标分布式数据库中获取目标数据,并将所述目标数据的数据类型映射为所述目标分布式数据库的数据类型对应的Java数据类型,并做序列化处理,得到序列化处理后的目标数据;将所述序列化后的目标数据写入Hadoop数据库。
[0006]本申请实施例中,通过调用与目标分布式数据库类型对应的目标驱动类,实现与目标分布式数据库连接,进而可以获取该目标分布式数据库的数据类型来生成对应的Java数据类型,从而将需要导入的目标数据映射为对应的Java类型,并做序列化处理,再将序列化后的目标数据写入Hadoop中,实现将目标分布式数据库中的数据写入Hadoop中,从而解决了现有技术中的Sqoop工具无法实现在分布式数据库与Hadoop生态体系之间进行数据传输的问题。
[0007]结合上述第一方面提供的技术方案,在一些可能的实施方式中,在与所述目标分布式数据库建立连接之后,所述方法还包括:在检测到与所述目标分布式数据库连接断开时,若断开连接的时间达到第一预设阈值,重新与所述目标分布式数据库建立连接。
[0008]本申请实施例中,在目标分布式数据库与Sqoop工具断开连接后,Sqoop工具会在断开连接的时间达到第一预设阈值后,重新与目标分布式数据库建立连接,从而防止Sqoop工具出现事务回滚,进而提升数据传输效率,提高用户体验。
[0009]结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述方法还包括:
若所述分布式数据库对应的内存写入数据达到第二预设阈值,与所述目标分布式数据库断开连接。
[0010]本申请实施例中,由于Sqoop工具在查询目标分布式数据库中的数据或者获取目标分布式数据库的目标数据时,在目标分布式数据库的内存数据达到第二预设阈值,与所述目标分布式数据库断开连接,从而防止目标分布式数据库的内存占用过大,避免因内存占用过大导致的目标分布式数据库出现故障,进而提高分布式数据库的安全性。
[0011]结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述方法还包括:当重新与所述目标分布式数据库建立连接失败时,判断与所述目标分布式数据库建立连接的连接次数是否达到第三预设阈值,在所述连接次数小于所述第三预设阈值时,再次与所述目标分布式数据库建立连接,在所述连接次数达到所述第三预设阈值时,反馈错误信息。
[0012]本申请实施例中,在Sqoop工具重新与目标分布式数据库建立连接失败后,再次与该目标分布式数据库建立连接,直至与目标分布式数据库建立连接的次数达到预设阈值后,任没有与该目标分布式数据库成功建立连接,则反馈错误信息,通过多次与目标分布式数据库建立连接,可以排除是建立连接过程中偶然出现的错误,在连接次数达到第三预设阈值后,任没有与目标分布式数据库成功建立连接的情况下,再反馈错误信息,可以减少报错次数,提高用户体验。
[0013]结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述目标分布式数据库类型为kingwow分布式数据库、oceanbase分布式数据库、tdsql for mysql分布式数据库、tdsql for oracle分布式数据库中的任意一种。
[0014]本申请实施例中,目标分布式数据库类型可以是kingwow分布式数据库、oceanbase分布式数据库、tdsql for mysql分布式数据库、tdsql for oracle分布式数据库中的任意一种,即可以实现上述的各类型分布式数据库与Hadoop之间进行数据传输,提高了本方案的应用范围和实用性。
[0015]结合上述第一方面提供的技术方案,在一些可能的实施方式中,若所述目标分布式数据库类型为kingwow分布式数据库时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为oceanbase分布式数据库下的mysql模式时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为oceanbase分布式数据库的oracle模式时,所述目标驱动类为oceanbase驱动类、若所述目标分布式数据库类型为tdsql for mysql分布式数据库时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为tdsql for oracle分布式数据库时,所述目标驱动类为PG驱动类。
[0016]本申请实施例中,若所述目标分布式数据库类型为kingwow分布式数据库时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为oceanbase分布式数据库下的mysql模式时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为oceanbase分布式数据库的oracle模式时,所述目标驱动类为oceanbase驱动类、若所述目标分布式数据库类型为tdsql for mysql分布式数据库时,所述目标驱动类为mysql驱动类、若所述目标分布式数据库类型为tdsql for oracle分布式数据库时,所述目标驱动类为PG驱动类,即不同类型的分布式数据库对应的驱动类不同,进而防止因驱动类不匹配导致连接失败,进而无法实现分布式数据库与Hadoop数据库进行数据传输。
[0017]第二方面,本申请提供一种数据传输装置,属于部署于电子设备中的Sqoop工具,
包括获取模块、处理模块、写入模块,获取模块用于获取并解析用户输入的数据库连接字符串,得到所述连接字符串包含的连接参数;处理模块用于根据所述连接参数确定需要连接的目标分布式数据库类型;所述处理模块还用于根据所述目标分布式数据库类型调用对应的目标驱动类,与目标分布式数据库建立连接;处理模块还用于从所述目标分布式数据库中获取目标数据,并将所述目标本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输方法,其特征在于,应用于部署有Sqoop工具的电子设备,所述方法包括:获取并解析用户输入的数据库连接字符串,得到所述连接字符串包含的连接参数;根据所述连接参数确定需要连接的目标分布式数据库类型;根据所述目标分布式数据库类型调用对应的目标驱动类,与目标分布式数据库建立连接;从所述目标分布式数据库中获取目标数据,并将所述目标数据的数据类型映射为所述目标分布式数据库的数据类型对应的Java数据类型,并做序列化处理,得到序列化处理后的目标数据;将所述序列化后的目标数据写入Hadoop数据库。2.根据权利要求1所述的方法,其特征在于,在与所述目标分布式数据库建立连接之后,所述方法还包括:在检测到与所述目标分布式数据库连接断开时,若断开连接的时间达到第一预设阈值,重新与所述目标分布式数据库建立连接。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述分布式数据库对应的内存写入数据达到第二预设阈值,与所述目标分布式数据库断开连接。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:当重新与所述目标分布式数据库建立连接失败时,判断与所述目标分布式数据库建立连接的连接次数是否达到第三预设阈值,在所述连接次数小于所述第三预设阈值时,再次与所述目标分布式数据库建立连接,在所述连接次数达到所述第三预设阈值时,反馈错误信息。5.根据权利要求1所述的方法,其特征在于,所述目标分布式数据库类型为kingwow分布式数据库、oceanbase分布式数据库、tdsql for mysql分布式数据库、tdsql for oracle分布式数据库中的任意一种。6.根据权利要求5所述的方法,其特征在于,若所述目标分布式数据库类型为kingwow分布式数据库时,所述目标驱动类为mysql驱动类;若所述目标分布式数据库类型为oceanbase分布式...

【专利技术属性】
技术研发人员:李胜军王卓尹琛金龙孙杨陈炳印李冰曾岸林邵长宏范文祥周鹏辉
申请(专利权)人:阳光保险集团股份有限公司
类型:发明
国别省市:

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

1