CN109165225A - 一种基于字节流格式的kudu数据导入系统及方法 - Google Patents

一种基于字节流格式的kudu数据导入系统及方法 Download PDF

Info

Publication number
CN109165225A
CN109165225A CN201811031094.3A CN201811031094A CN109165225A CN 109165225 A CN109165225 A CN 109165225A CN 201811031094 A CN201811031094 A CN 201811031094A CN 109165225 A CN109165225 A CN 109165225A
Authority
CN
China
Prior art keywords
kudu
data
database
source database
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811031094.3A
Other languages
English (en)
Inventor
许作亮
邓光超
李朝铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201811031094.3A priority Critical patent/CN109165225A/zh
Publication of CN109165225A publication Critical patent/CN109165225A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于字节流格式的kudu数据导入系统及方法,属于软件服务数据同步技术领域。本发明的基于字节流格式的kudu数据导入系统,包括源数据库、源数据库抽取服务模块、消息中间件集群模块、kudu入库服务模块和kudu数据库,源数据库抽取服务模块获取源数据库的数据流,消息中间件集群模块转发源数据库的数据流,kudu入库服务模块解析出源数据库的表结构数据、源数据库的全量数据、源数据库的增量数据,并保存到kudu数据库。该发明的基于字节流格式的kudu数据导入系统支持分布式部署,能充分利用机器性能,有效提高数据入库速度,具有很好的推广应用价值。

Description

一种基于字节流格式的kudu数据导入系统及方法
技术领域
本发明涉及软件服务数据同步技术领域,具体提供一种基于字节流格式的kudu数据导入系统及方法。
背景技术
Apache Kudu是由Cloudera开源的存储引擎,可以同时提供低延迟的随机读写和高效的数据分析能力,是兼具HBase和HDFS的优点。Kudu数据库有着良好的应用前景,当前数据源大都存储在oracle、SqlServer、MySQL中,Kudu数据库虽然提供了高效的入库、批量扫描性能和强大的数据分析能力,但是如果没有数据导入方法将数据导入到Kudu数据库,它也是没法发挥其作用的,现在急需一款高效稳定的方法将数据导入到Kudu数据库中。
现有官方给出的入库Kudu数据库方法只支持通过impala入库kudu数据库,但是,这种方法不能支持常用的OLTP(如oracle、SqlServer、MySQL)业务数据的导入,有很大局限性。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种支持分布式部署,能充分利用机器性能,有效提高数据入库速度的基于字节流格式的kudu数据导入系统。
本发明进一步的技术任务是提供一种基于字节流格式的kudu数据导入方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于字节流格式的kudu数据导入系统,该系统包括源数据库、源数据库抽取服务模块、消息中间件集群模块、kudu入库服务模块和kudu数据库,源数据库抽取服务模块获取源数据库的数据流,消息中间件集群模块转发源数据库的数据流,kudu入库服务模块解析出源数据库的表结构数据、源数据库的全量数据、源数据库的增量数据,并保存到kudu数据库。
只要是字节流格式是基于标准字节流的,都能够快速准确的导入到kudu数据库中,已经支持oracle、SqlServer、MySQL、DB2数据库,还可以很方便的进行扩展支持其它数据库数据的导入。
作为优选,所述消息中间件集群模块为CMSP(Cloud Message Service Platform即云消息服务平台)消息中间件。
作为优选,通过配置源数据类型和kudu数据类型的映射关系,将源数据库的表结构与kudu数据库进行转换。
所述映射关系为根据已知的源数据库数据类型,选择合适的表字段映射关系,从而保证源数据库数据能够完成保存到kudu数据库中。
该系统只需要通过修改配置文件,便可以扩展可支持的kudu数据库类型。
作为优选,通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。
源数据库的全量数据指现有数据全部按照新增的操作插入到kudu数据库中。解析出源数据库的表结构的字段内容后,通过合适的转换,转换成kudu数据库的表结构的格式,调用kudu数据库入库API进行入库操作。此过程可以实现多个源数据库的表的并行同步。
作为优选,源数据库的全量数据导入至kudu数据库的过程支持多线程操作,同时该过程还增加了容错处理,保证程序的鲁棒性。
作为优选,源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。
作为优选,源数据库的增量数据同步导入至kudu数据库的过程采用单线程操作,同时该过程对顺序有着严格的要求。
一种基于字节流格式的kudu数据导入方法,该方法包括以下步骤:
S1:读取配置文件启动线程操作需要同步的源数据库的表;
S2:判断源数据库的表是否存在,若存在执行步骤S4,否则执行步骤S3;
S3:接收创建源数据库的表的语句创建源数据库的表,创建成功执行步骤S4,否则按错误处理,继续重复执行本步骤;
S4:接收源数据库的全量数据存入kudu数据库,判断源数据库的全量数据是否入库成功,若入库成功则执行步骤S5,否则按错误处理;
S5:判断源数据库的全量数据是否同步结束,若结束执行步骤S6,否则返回步骤S4;
S6:判断是否需要处理源数据库的增量数据,若是则执行步骤S7,否则结束;
S7:处理源数据库的增量数据,并判断源数据库的增量数据是否处理成功,若成功继续重复执行该步骤,否则按错误处理。
作为优选,通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。
作为优选,源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。
与现有技术相比,本发明的基于字节流格式的kudu数据导入系统具有以下突出的有益效果:所述基于字节流格式的kudu数据导入系统支持分布式部署,能充分利用机器性能,有效提高数据导入kudu数据库的速度,实现了简单便捷的配置,并具有易扩展性,实现了常见OLTP(如oracle、SqlServer、MySQL)数据库到kudu数据库的表创建、源数据库的全量数据同步、源数据库的增量数据的同步功能,具有良好的推广应用价值。
附图说明
图1是本发明所述基于字节流格式的kudu数据导入系统的架构图;
图2是本发明所述基于字节流格式的kudu数据导入方法的流程图。
具体实施方式
下面将结合附图和实施例,对本发明的基于字节流格式的kudu数据导入系统及方法作进一步详细说明。
实施例
如图1所示,本发明的基于字节流格式的kudu数据导入系统,包括源数据库、源数据库抽取服务模块、消息中间件集群模块、kudu入库服务模块和kudu数据库,源数据库抽取服务模块获取源数据库的数据流,消息中间件集群模块转发源数据库的数据流,kudu入库服务模块解析出源数据库的表结构数据、源数据库的全量数据、源数据库的增量数据,并保存到kudu数据库。
通过配置源数据类型和kudu数据类型的映射关系,将源数据库的表结构与kudu数据库进行转换。
通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。其中,源数据库的全量数据导入至kudu数据库的过程支持多线程操作,同时该过程还增加了容错处理,保证程序的鲁棒性。源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。源数据库的全量数据指现有数据全部按照新增的操作插入到kudu数据库中。解析出源数据库的表结构的字段内容后,通过合适的转换,转换成kudu数据库的表结构的格式,调用kudu数据库入库API进行入库操作。此过程可以实现多个源数据库的表的并行同步。
源数据库的增量数据同步导入至kudu数据库的过程采用单线程操作,该过程对顺序有着严格的要求。
如图2所示,本发明的基于字节流格式的kudu数据导入方法,包括以下步骤:
S1:读取配置文件启动线程操作需要同步的源数据库的表。
S2:判断源数据库的表是否存在,若存在执行步骤S4,否则执行步骤S3。
S3:接收创建源数据库的表的语句创建源数据库的表,创建成功执行步骤S4,否则按错误处理,继续重复执行本步骤。
S4:接收源数据库的全量数据存入kudu数据库,判断源数据库的全量数据是否入库成功,若入库成功则执行步骤S5,否则按错误处理。
该步骤中通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。
S5:判断源数据库的全量数据是否同步结束,若结束执行步骤S6,否则返回步骤S4。
S6:判断是否需要处理源数据库的增量数据,若是则执行步骤S7,否则结束。
S7:处理源数据库的增量数据,并判断源数据库的增量数据是否处理成功,若成功继续重复执行该步骤,否则按错误处理。
该步骤中,源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。

Claims (10)

1.一种基于字节流格式的kudu数据导入系统,其特征在于:该系统包括源数据库、源数据库抽取服务模块、消息中间件集群模块、kudu入库服务模块和kudu数据库,源数据库抽取服务模块获取源数据库的数据流,消息中间件集群模块转发源数据库的数据流,kudu入库服务模块解析出源数据库的表结构数据、源数据库的全量数据、源数据库的增量数据,并保存到kudu数据库。
2.根据权利要求1所述的基于字节流格式的kudu数据导入系统,其特征在于:所述消息中间件集群模块为CMSP消息中间件。
3.根据权利要求1或2所述的基于字节流格式的kudu数据导入系统,其特征在于:通过配置源数据类型和kudu数据类型的映射关系,将源数据库的表结构与kudu数据库进行转换。
4.根据权利要求 3所述的基于字节流格式的kudu数据导入系统,其特征在于:通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。
5.根据权利要求4所述的基于字节流格式的kudu数据导入系统,其特征在于:源数据库的全量数据导入至kudu数据库的过程支持多线程操作。
6.根据权利要求5所述的基于字节流格式的kudu数据导入系统,其特征在于:源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。
7.根据权利要求6所述的基于字节流格式的kudu数据导入系统,其特征在于:源数据库的增量数据同步导入至kudu数据库的过程采用单线程操作。
8.一种基于字节流格式的kudu数据导入方法,其特征在于:该方法包括以下步骤:
S1:读取配置文件启动线程操作需要同步的源数据库的表;
S2:判断源数据库的表是否存在,若存在执行步骤S4,否则执行步骤S3;
S3:接收创建源数据库的表的语句创建源数据库的表,创建成功执行步骤S4,否则按错误处理,继续重复执行本步骤;
S4:接收源数据库的全量数据存入kudu数据库,判断源数据库的全量数据是否入库成功,若入库成功则执行步骤S5,否则按错误处理;
S5:判断源数据库的全量数据是否同步结束,若结束执行步骤S6,否则返回步骤S4;
S6:判断是否需要处理源数据库的增量数据,若是则执行步骤S7,否则结束;
S7:处理源数据库的增量数据,并判断源数据库的增量数据是否处理成功,若成功继续重复执行该步骤,否则按错误处理。
9.根据权利要求8所述的基于字节流格式的kudu数据导入方法,其特征在于:通过接收含有源数据库的表结构数据内容的字节流,解析出源数据库的表结构的字段内容,获取kudu数据库的表结构对应的字段格式,将源数据库的表结构的字段内容转换成kudu数据库的表结构对应的字段格式,完成表结构数据的同步,然后将源数据库现有数据批量导入到kudu数据库中,完成全量数据的导入。
10.根据权利要求9所述的基于字节流格式的kudu数据导入方法,其特征在于:源数据库的全量数据导入至kudu数据库中后,将源数据库的增删改操作,同步到kudu数据库中,完成源数据库的增量数据同步导入至kudu数据库。
CN201811031094.3A 2018-09-05 2018-09-05 一种基于字节流格式的kudu数据导入系统及方法 Pending CN109165225A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811031094.3A CN109165225A (zh) 2018-09-05 2018-09-05 一种基于字节流格式的kudu数据导入系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811031094.3A CN109165225A (zh) 2018-09-05 2018-09-05 一种基于字节流格式的kudu数据导入系统及方法

Publications (1)

Publication Number Publication Date
CN109165225A true CN109165225A (zh) 2019-01-08

Family

ID=64894029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811031094.3A Pending CN109165225A (zh) 2018-09-05 2018-09-05 一种基于字节流格式的kudu数据导入系统及方法

Country Status (1)

Country Link
CN (1) CN109165225A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401851A (zh) * 2019-08-28 2019-11-01 浪潮软件集团有限公司 一种基于cmsp的视频转码方法
CN110493244A (zh) * 2019-08-28 2019-11-22 浪潮软件集团有限公司 一种基于cmsp的视频采集方法
CN111221667A (zh) * 2020-01-09 2020-06-02 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
CN103607469A (zh) * 2013-11-28 2014-02-26 东莞中国科学院云计算产业技术创新与育成中心 一种实现分布式异构数据共享的云平台及其数据共享方法
CN105005618A (zh) * 2015-07-21 2015-10-28 杭州合众数据技术有限公司 一种异构数据库之间的数据同步方法及系统
CN107943979A (zh) * 2017-11-29 2018-04-20 山东鲁能软件技术有限公司 一种数据库之间数据的准实时同步方法及装置
CN108228735A (zh) * 2017-12-12 2018-06-29 浪潮软件股份有限公司 一种数据处理方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
CN103607469A (zh) * 2013-11-28 2014-02-26 东莞中国科学院云计算产业技术创新与育成中心 一种实现分布式异构数据共享的云平台及其数据共享方法
CN105005618A (zh) * 2015-07-21 2015-10-28 杭州合众数据技术有限公司 一种异构数据库之间的数据同步方法及系统
CN107943979A (zh) * 2017-11-29 2018-04-20 山东鲁能软件技术有限公司 一种数据库之间数据的准实时同步方法及装置
CN108228735A (zh) * 2017-12-12 2018-06-29 浪潮软件股份有限公司 一种数据处理方法、装置及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401851A (zh) * 2019-08-28 2019-11-01 浪潮软件集团有限公司 一种基于cmsp的视频转码方法
CN110493244A (zh) * 2019-08-28 2019-11-22 浪潮软件集团有限公司 一种基于cmsp的视频采集方法
CN111221667A (zh) * 2020-01-09 2020-06-02 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法
CN111221667B (zh) * 2020-01-09 2024-03-22 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法

Similar Documents

Publication Publication Date Title
CN106250543B (zh) 一种自动化数据查询同步存储方法
CN110489445B (zh) 一种基于多形态复合的海量数据快速查询方法
CN102346775A (zh) 一种基于日志的异构多源数据库同步方法
TWI521363B (zh) Method, device and system for implementing incremental data extraction
CN104572689B (zh) 数据同步方法、装置及系统
CN105550293B (zh) 一种基于Spark‑SQL大数据处理平台的后台刷新方法
CN106897322B (zh) 一种数据库和文件系统的访问方法和装置
CN103617176B (zh) 一种实现多源异构数据资源自动同步的方法
CN109165225A (zh) 一种基于字节流格式的kudu数据导入系统及方法
CN112286941B (zh) 一种基于Binlog+HBase+Hive的大数据同步方法和装置
US20150032695A1 (en) Client and server integration for replicating data
US10452655B2 (en) In-memory cursor duration temp tables
CN111581214B (zh) 适用于能源区块链的并行merkle树构建与验证方法
CN103699620A (zh) 面向对象中利用orm框架实现数据库操作的方法及系统
CN105447156A (zh) 资源描述框架分布式引擎及增量式更新方法
US20220343047A1 (en) Method and system for processing simulation data
CN106339498A (zh) 数据同步方法、装置和系统
CN104683472A (zh) 一种支持大数据量的数据传输方法
CN111694799B (zh) 基于日志解析同步的并行日志解析方法和数据同步系统
US8600990B2 (en) Interacting methods of data extraction
CN113177090A (zh) 数据处理方法及装置
US20090248691A1 (en) Interacting methods of data summarization
CN103034553B (zh) 一种报表设计器智能验证的算法、方法及装置
CN104125300A (zh) 机卡分离型家庭网关业务配置数据的同步方法
CN112559629B (zh) 一种基于日志解析同步的大对象初始化方法与装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190108

RJ01 Rejection of invention patent application after publication