本发明专利技术提供了一种数据湖与关系型数据库互联的方法,包括以下步骤:S1.在数据湖中添加关系型数据库的数据源类;S2.数据湖匹配使用关系型数据库的数据源类;S3.根据数据源类确定并加载相应驱动以与相应关系型数据库进行连接。本发明专利技术通过传参的方式将数据源注册配置文件、关系型数据库配置文件和驱动包目录串联起来,在启动数据湖时,不需要指定具体要使用哪个数据库,直接使用相应的数据库即可,也不需要遍历配置文件,用户按需通过传递参数的形式获取所需的配置信息即可,实现数据湖与关系型数据库之间的高效连接和双向读写。型数据库之间的高效连接和双向读写。型数据库之间的高效连接和双向读写。
【技术实现步骤摘要】
一种数据湖与关系型数据库互联的方法
[0001]本专利技术属于数据湖
,尤其是涉及一种数据湖与关系型数据库互联的方法。
技术介绍
[0002]近年来,随着物联网、云计算、遥感、5G等技术的快速发展,各种数据呈现井喷式增长。从数据结构上说,数据可以分为四大类,结构化数据、半结构化数据、非结构化数据和二进制数据。为了存储这些数据,企事业单位一般会按业务或部门构建各自独立的数据库,这就导致了数据孤岛的问题,数据间共享困难,数据利用率低。
[0003]随着大数据时代的到来,结构化数据被运用得越来越多,但是很多领域的结构化数据被单一地存储在关系型数据库中,这部分数据往往无法和其他数据间进行共享,进而成为一个数据孤岛。
[0004]数据湖是一个用于存储企业的各种各样原始数据并保留原始数据内容的大规模存储系统架构,支持结构化数据、半结构化数据、非结构化数据和二进制数据等数据存储,其中的数据可供存取、处理、分析及传输,并且支持海量数据的分析处理,所以可以利用数据湖将关系型数据库中的数据与其他数据实现共享,但是目前没有一种实现数据湖直接与关系型数据库互联的高效方法。
技术实现思路
[0005]本专利技术的目的是针对上述问题,提供一种数据湖与关系型数据库互联的方法。
[0006]为达到上述目的,本专利技术采用了下列技术方案:一种数据湖与关系型数据库互联的方法,包括以下步骤:S1.在数据湖中添加关系型数据库的数据源类;S2.数据湖匹配使用关系型数据库的数据源类;S3.根据数据源类确定并加载相应驱动以与相应关系型数据库进行连接。
[0007]在上述的数据湖与关系型数据库互联的方法中,步骤S1中,通过以下方法添加关系型数据库的数据源类:S11.确定所要添加的数据源类为关系型数据库的数据源类,并为该数据源类备注标识名称;S12.将所述数据源类的包括标识名称的包路径添加到数据湖的数据源注册配置文件中。
[0008]在上述的数据湖与关系型数据库互联的方法中,步骤S2中,通过以下方式匹配使用关系型数据库的数据源类:S21.数据湖通过接口参数传递关系型数据库的数据源类的标识名称;S22.通过步骤S21中的标识名称与数据源注册配置文件中的数据源类的标识名称进行匹配;
S23.使用标识名称匹配上的数据源类。
[0009]在上述的数据湖与关系型数据库互联的方法中,步骤S3中,根据关系型数据库的数据源类匹配到关系型数据库配置文件,所述的关系型数据库配置文件中存储有各种关系型数据库的基础信息,数据湖根据当前使用的关系型数据库的基础信息确定并加载相应驱动以与当前关系型数据库进行连接。
[0010]在上述的数据湖与关系型数据库互联的方法中,各关系型数据库的基础信息包括相应关系型数据库的数据库名称;步骤S3中,通过传递数据库名称在数据库配置文件中读取相应关系型数据库的基础信息。
[0011]在上述的数据湖与关系型数据库互联的方法中,每种关系型数据库对应有一个或多个数据库实例,关系型数据库配置文件中存储有各种数据库实例的基础信息;各数据库实例的基础信息包括相应数据库实例的实例名称,且所述实例名称包含相应数据库实例所属关系型数据库的数据库名称;步骤S3中,通过传递实例名称在数据库配置文件中读取相应数据库实例的基础信息并获取相应的数据库实例。
[0012]在上述的数据湖与关系型数据库互联的方法中,所述的基础信息包括驱动名称,步骤S3中,根据基础信息中的驱动名称确定并加载相应驱动。
[0013]在上述的数据湖与关系型数据库互联的方法中,所述的数据湖具有驱动包目录,用于存放各种关系型数据库的驱动包并记录有驱动包与驱动名称的对应关系;步骤S3中,根据驱动名称通过传参方式匹配到驱动包目录中的驱动包后加载该驱动包,进而连接到相应的数据库实例。
[0014]在上述的数据湖与关系型数据库互联的方法中,所述的数据湖还包括数据字段类型转换配置文件,入湖时,将数据库实例的待入湖数据先转换为相应的JDBC类型,然后通过数据字段类型转换配置文件将JDBC类型转换为数据湖的字段类型;出湖时,将数据湖的待出湖数据通过数据字段类型转换配置文件转换为相应的JDBC类型,然后将JDBC类型转换为相应数据库实例的字段类型。
[0015]在上述的数据湖与关系型数据库互联的方法中,数据湖启动状态下检测到关系型数据库配置文件的修改信息时,锁定当前配置信息用于本次数据读写,并在下次执行数据读写时切换使用修改后的配置信息。
[0016]本专利技术的优点在于:通过本专利技术方法使数据湖能够支持与关系型数据库之间的高效连接,并与关系型数据库之间进行双向读写,将关系型数据库中的数据通过数据湖与其他数据相连,使其避免成为数据孤岛;提供数据源注册配置文件供注册数据源类,提供数据库配置文件配置数据库信息,提供驱动包目录存放数据库驱动,后续需要添加关系型数据库实例时,只需要依情况对数据库配置文件进行信息配置即可,使得数据湖对关系型数据库的连接具备灵活的可扩展性;通过传参的方式将数据源注册配置文件、关系型数据库配置文件和驱动包目录串联起来,在启动数据湖时,不需要指定具体要使用哪个数据库,直接使用相应的数据库即
可,也不需要遍历配置文件,用户按需通过传递参数的形式获取所需的配置信息即可;在进行读写操作时,传递关系型数据库配置文件中的关系型数据库的实例名称,能够在不停止数据库的前提下,切换不同的数据库实例,使关系型数据库支持热切换;目前数据类型转换均采用代码来进行转换,而本方案使用配置文件进行转换,无需写源代码,解析配置文件中的配置项就能够得到字段类型转换关系,简化转换流程,提高转换效率。
附图说明
[0017]图1为本专利技术多实例的关系型数据库配置文件的示意图;图2为本专利技术数据湖与关系型数据库互联的方法流程图;图3为本专利技术字段转换流程图;图4为本专利技术JDBC驱动加载的示意图;图5为本专利技术数据湖与关系型数据库之间双向读写的示意图一;图6为本专利技术数据湖与关系型数据库之间双向读写的示意图二;图7为基于本专利技术关系数据库与数据湖互联方法中关系型数据库数据入湖的耗时实验结果图;图8为基于本专利技术关系数据库与数据湖互联方法中数据湖中数据进入关系型数据库的耗时实验结果图。
具体实施方式
[0018]下面结合附图本方案进行进一步说明:本实施例公开了一种数据湖与关系型数据库互联的方法,包括以下步骤:1、在数据湖中添加关系型数据库的数据源类,为该数据源类标注唯一的标识名称,如本实施例将关系型数据库取名为relationaldb;并且本方案中,每种关系型数据库可配置多个数据库实例,各数据库实例具有不同的实例名称,且实例名称包含其所属关系型数据库的数据库名称,比如配置了3个MySQL数据库,分别取名为mysql1,mysql2,mysql3,其中mysql为MySQL类关系型数据库的名称。本方案除了支持与MySQL关系型数据库的连接,还支持其他关系型数据库的连接,如支持与Oracle和 SQL Server关系型数据库的连接。
[0019本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据湖与关系型数据库互联的方法,其特征在于,包括以下步骤:S1.在数据湖中添加关系型数据库的数据源类;S2.数据湖匹配使用关系型数据库的数据源类;S3.根据数据源类确定并加载相应驱动以与相应关系型数据库进行连接。2.根据权利要求1所述的数据湖与关系型数据库互联的方法,其特征在于,步骤S1中,通过以下方法添加关系型数据库的数据源类:S11.确定所要添加的数据源类为关系型数据库的数据源类,并为该数据源类备注标识名称;S12.将所述数据源类的包括标识名称的包路径添加到数据湖的数据源注册配置文件中。3.根据权利要求2所述的数据湖与关系型数据库互联的方法,其特征在于,步骤S2中,通过以下方式匹配使用关系型数据库的数据源类:S21.数据湖通过接口参数传递关系型数据库的数据源类的标识名称;S22.通过步骤S21中的标识名称与数据源注册配置文件中的数据源类的标识名称进行匹配;S23.使用标识名称匹配上的数据源类。4.根据权利要求3所述的数据湖与关系型数据库互联的方法,其特征在于,步骤S3中,根据关系型数据库的数据源类匹配到关系型数据库配置文件,所述的关系型数据库配置文件中存储有各种关系型数据库的基础信息,数据湖根据当前使用的关系型数据库的基础信息确定并加载相应驱动以与当前关系型数据库进行连接。5.根据权利要求4所述的数据湖与关系型数据库互联的方法,其特征在于,各关系型数据库的基础信息包括相应关系型数据库的数据库名称;步骤S3中,通过传递数据库名称在数据库配置文件中读取相应关系型数据库的基础信息。6.根据权利要求5所述的数据湖与关系型数据库互联的方法,其特征在于,每...
【专利技术属性】
技术研发人员:刘昊,张涛,张磊,王朋,刘哲峰,陈志凌,王秋烨,陈巍,刘荫隆,郁晨熹,
申请(专利权)人:北京大数据先进技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。