CN110851511A - 数据同步的方法及装置 - Google Patents

数据同步的方法及装置 Download PDF

Info

Publication number
CN110851511A
CN110851511A CN201910971156.7A CN201910971156A CN110851511A CN 110851511 A CN110851511 A CN 110851511A CN 201910971156 A CN201910971156 A CN 201910971156A CN 110851511 A CN110851511 A CN 110851511A
Authority
CN
China
Prior art keywords
data
original table
field
relational database
hive
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.)
Withdrawn
Application number
CN201910971156.7A
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.)
Shanghai Yidianshikong Network Co Ltd
Original Assignee
Shanghai Yidianshikong Network 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 Shanghai Yidianshikong Network Co Ltd filed Critical Shanghai Yidianshikong Network Co Ltd
Priority to CN201910971156.7A priority Critical patent/CN110851511A/zh
Publication of CN110851511A publication Critical patent/CN110851511A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据同步的方法及装置。该申请的方法包括根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。本申请解决Hive与MySQL之间进行数据同步的通用同步工具进行数据同步的效率低的问题。

Description

数据同步的方法及装置
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据同步的方法及装置。
背景技术
随着人工智能、移动互联网和物联网的兴起,大数据技术也得到了飞速发展,大数据已经融入了各行各业。各个公司也会建立基于大数据平台的数据仓库,Hive是业界常用的一个建立在Hadoop架构上的数据仓库,它能提供数据表的查询和分析。除了使用Hive管理数据之外,常常也需要在Hive数据仓库与关系型数据库MySQL之间进行数据同步。
Hive与MySQL之间进行数据同步通常使用数据同步工具进行,其中一种通用的同步工具为Apache Sqoop,它是在Hadoop生态系统与MySQL、oracle、postgresql等关系型数据库系统之间传输数据的通用工具,它是基于Hadoop的mapreduce任务来实现导入导出的。使用Apache Sqoop在Hive与MySQL之间同步数据时,需要手动在MySQL中创建表;而且,Apache Sqoop导出数据时会生成mapreduce任务,而mapreduce任务启动会非常耗时,增加了数据导出时长。总之,Hive与MySQL之间进行数据同步的通用同步工具进行数据同步的效率低。
发明内容
本申请的主要目的在于提供一种数据同步的方法及装置,以解决Hive与MySQL之间进行数据同步的通用同步工具进行数据同步的效率低的问题。
为了实现上述目的,根据本申请的第一方面,提供了一种数据同步的方法。
根据本申请的数据同步的方法包括:
根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;
根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;
读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
进一步的,所述数据仓库为Hive,所述关系型数据库为MySQL。
进一步的,所述根据数据仓库中的原始表的元数据集合自动生成建表语句包括:
读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型;
将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型;
根据转换后的字段类型以及对应的字段名拼接成建表语句。
进一步的,所述将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型包括:
将原始表中字段类型为string、array、struct、map的字段类型转换成可变字符类型varchar;并且,
将string、array、struct、map的字段类型中字段的最大长度作为varchar的字符长度限制。
进一步的,所述读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中包括:
读取原始表对应的HDFS文件,并根据分割符对HDFS文件中的数据进行切分;
将切分后的数据分别与各字段名进行对应;
分别将读取的HDFS文件中的每行数据通过插入语句插入到目标表中,插入语句中包含HDFS中的数据以及对应的字段名。
进一步的,所述读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型包括:
根据Hive对应的HiveMetaStoreClient类的getSchema方法读取原始表包含的字段名以及字段类型。
为了实现上述目的,根据本申请的第二方面,提供了一种数据同步的装置。
根据本申请的数据同步的装置包括:
生成单元,用于根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;
创建单元,用于根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;
插入单元,用于读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
进一步的,所述数据仓库为Hive,所述关系型数据库为MySQL。
进一步的,所述生成单元包括:
获取模块,用于读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型;
转换模块,用于将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型;
拼接模块,用于根据转换后的字段类型以及对应的字段名拼接成建表语句。
进一步的,所述转换模块用于:
将原始表中字段类型为string、array、struct、map的字段类型转换成可变字符类型varchar;并且,
将string、array、struct、map的字段类型中字段的最大长度作为varchar的字符长度限制。
进一步的,所述插入单元包括:
切分模块,用于读取原始表对应的HDFS文件,并根据分割符对HDFS文件中的数据进行切分;
对应模块,用于将切分后的数据分别与各字段名进行对应;
插入模块,用于分别将读取的HDFS文件中的每行数据通过插入语句插入到目标表中,插入语句中包含HDFS中的数据以及对应的字段名。
进一步的,所述获取模块用于:
根据Hive对应的HiveMetaStoreClient类的get Schema方法读取原始表包含的字段名以及字段类型。
为了实现上述目的,根据本申请的第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述第一方面中任一项所述的数据同步的方法。
在本申请实施例中,数据同步的方法及装置中,根据数据仓库中的原始表的元数据集合自动生成建表语句,元数据集合为建表Schema;根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。可以看出,本申请中,可以通过创建的建表语句自动生成关系型数据库中同步数据仓库中的原始表的目标表,不需要手动建表;另外,在数据仓库与关系型数据库之间数据同步时不需要生成mapreduce任务,缩减了执行时间。因此,可以解决现有的通用数据同步工具同步数据效率低的问题。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种数据同步的方法流程图;
图2是根据本申请实施例提供的另一种数据同步的方法流程图;
图3是根据本申请实施例提供的一种数据同步的装置的组成框图;
图4是根据本申请实施例提供的另一种数据同步的装置的组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请实施例,提供了一种数据同步的方法,如图1所示,该方法包括如下的步骤:
S101.根据数据仓库中的原始表的元数据集合自动生成建表语句。
其中,元数据集合为建表Schema,Schema定义:元数据的一个抽象集合,包含一套schema component。主要是元素与属性的声明、复杂与简单数据类型的定义。
建表语句用于在关系型数据库中建立与数据仓库中的原始表同步的目标表。建表语句是由数据表中包含的字段名以及字段类型组成的。而元数据集合中包含了需要同步的原始表中的字段名和字段类型。因此根据元数据集合可以自动生成建表语句。另外,由于数据仓库中对应的字段类型与关系型数据库对应的字段类型是不同的,在将原始表的数据同步到关系型数据库中的目标表中时,还需要进行字段类型的转换。
S102.根据建表语句在关系型数据库中创建与原始表数据同步的目标表。
根据建表语句在关系型数据库中执行建表任务,创建与数据仓库中原始表对应的目标表。
S103.读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
分布式文件系统(Hadoop Distributed File System,HDFS),是分布式系统基础架构中用于存储数据的一个文件系统。本实施例中主要是针对分布式系统基础架构Hadoop,因此原始表对应的是HDFS文件。
本步骤的具体的实现方式为:读取数据仓库中的原始表中对应的HDFS文件,并将HDFS文件中对应的数据插入到关系型数据库中对应的目标表中,在插入时需要将数据与字段名进行对应的插入,原始表中对应的所有的数据插入完成后,完成数据仓库中的原始表中的数据到关系型数据库的同步。
从以上的描述中,可以看出,本申请实施例的数据同步的方法中,根据数据仓库中的原始表的元数据集合自动生成建表语句,元数据集合为建表Schema;根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。可以看出,本申请中,可以通过创建的建表语句自动生成关系型数据库中同步数据仓库中的原始表的目标表,不需要手动建表;另外,在数据仓库与关系型数据库之间数据同步时不需要生成mapreduce任务,缩减了执行时间。因此,可以解决现有的通用数据同步工具同步数据效率低的问题。
作为上述实施例的进一步的补充和细化,根据本申请实施例,提供了另一种数据同步的方法,如图2所示,该方法包括如下的步骤:
本实施例以数据仓库为Hive,关系型数据库为MySQL为例进行数据同步的说明。
S201.读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型。
其中,元数据集合为建表Schema,Schema定义:元数据的一个抽象集合,包含一套schema component。主要是元素与属性的声明、复杂与简单数据类型的定义。
具体的“读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型”的实现方式为:根据Hive对应的HiveMetaStoreClient类的getSchema方法读取原始表包含的字段名以及字段类型。getSchema方法是利用Hive api中HiveMetaStoreClient类的getSchema方法。Hive api是Hive对应的应用程序接口,其中包含一些预先定义的函数,或软件系统不同组成部分衔接的约定。
S202.将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型。
Hive的数据类型的字段类型中有的需要进行转换,转换成MySQL数据类型,比如string、array、struct、map的字段类型就需要转换为可变字符类型varchar。因此,在MySQL中创建目标表之前,需要先将string、array、struct、map的字段类型进行转换。
具体的“将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型”的实现过程如下:
首先,确定string、array、struct、map的字段类型中字段的最大长度L;
具体的可以使用select max(length(field))方法获取。具体的L为所有的string、array、struct、map的字段类型中字段包含的数据的最大长度。
其次,将原始表中字段类型为string、array、struct、map的字段类型转换成可变字符类型varchar;并且,将string、array、struct、map的字段类型中字段的最大长度L作为varchar的字符长度限制。
即将string、array、struct、map类型的字段转换成varchar(L)类型,varchar(L)是为了保证字段长度能容纳现有数据,另外需要说明的是,除string、array、struct、map之外,其它字段类型不需要转换。
S203.根据转换后的字段类型以及对应的字段名拼接成建表语句。
根据转换后的字段类型以及对应的字段名、原始表中不需要转换的字段类型以及对应的字段名拼成create建表语句。具体的拼接需要依据MySQL的语法进行拼接。需要说明的是,与转换后的字段类型对应的字段名是原始表中转换前的字段类型对应的字段名。
S204.根据建表语句在关系型数据库中创建与原始表数据同步的目标表。
在MySQL中执行建表语句,创建与Hive中原始表对应的目标表。
S205.读取原始表对应的HDFS文件,并根据分割符对HDFS文件中的数据进行切分。
原始表可能对应多个HDFS文件,每个HDFS文件中,按行进行数据的存储,每行数据中包含多个字段名对应的数据。属于不同字段名的数据通过分割符分隔。根据分割符对HDFS文件中的数据进行切分是为了将属于不同字段名的数据进行区分。
S206.将切分后的数据分别与各字段名进行对应。
在实际的操作中,可以按照切分后的顺序将数据分别对应到各字段名下。
S207.分别将读取的HDFS文件中的每行数据通过插入语句插入到目标表中,插入语句中包含HDFS中的数据以及对应的字段名。
具体的实现过程为:分别将读取的HDFS文件中的每行数据及其对应的各字段名组装成insert语句,然后执行insert语句将HDFS文件中的数据插入到关系型数据库对应的目标表中,完成数据仓库中的原始表中的数据到关系型数据库的同步。
给出具体的示例对上述数据同步的方法进行说明:
将Hive中h_a表(原始表)导出到MySQL中m_a表(目标表)为例详细操作步骤如下:
1)利用Hiveapi中HiveMetaStoreClient类的getSchema方法读取h_a表包含的字段名以及字段类型。
2)运行select max(length(field))from h_a语句获取字段类型为string、array、struct、map的字段包含数据的最大长度L。
3)将h_a表中包含string、array、struct、map类型的字段转换成varchar(L)类型(保证字段长度能容纳现有数据),其它字段类型不需要转换。
4)根据h_a表的字段名以及转换后的字段类型拼接成create建表语句,在MySQL中执行创建m_a表。
5)读取h_a表对应的HDFS文件,根据配置的分割符进行切分,按顺序对应至各字段名下。
6)将读取的每行数据组装成insert语句插入至MySQL的m_a表中。
上述详细的流程可以概述为:读取Hive表的建表schema→获取字段的最大长度→Hive数据类型转换成MySQL数据类型→创建MySQL表→读取Hive表对应文件→将文件中的数据插入MySQL表中。
本实施例是以数据仓库为Hive,关系型数据库为MySQL为例进行数据同步的说明。本实施例的方法同样也适用与数据仓库与其他类型的关系型数据库之间的数据同步,在将本实施例的方法应用在其他类型的关系型数据库时,需要根据关系型数据库的数据类型进行数据类型转换时的调整,即将数据仓库类型的字段类型转换为适用于关系型数据库的字段类型。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例,还提供了一种用于实施上述图1至图2所述方法的数据同步的装置,如图3所示,该装置包括:
生成单元31,用于根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;
创建单元32,用于根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;
插入单元33,用于读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
从以上的描述中,可以看出,本申请实施例的数据同步的装置中,根据数据仓库中的原始表的元数据集合自动生成建表语句,元数据集合为建表Schema;根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。可以看出,本申请中,可以通过创建的建表语句自动生成关系型数据库中同步数据仓库中的原始表的目标表,不需要手动建表;另外,在数据仓库与关系型数据库之间数据同步时不需要生成mapreduce任务,缩减了执行时间。因此,可以解决现有的通用数据同步工具同步数据效率低的问题。
进一步的,所述数据仓库为Hive,所述关系型数据库为MySQL。
进一步的,如图4所示,所述生成单元31包括:
获取模块311,用于读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型;
转换模块312,用于将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型;
拼接模块313,用于根据转换后的字段类型以及对应的字段名拼接成建表语句。
进一步的,如图4所示,所述转换模块312用于:
将原始表中字段类型为string、array、struct、map的字段类型转换成可变字符类型varchar;并且,
将string、array、struct、map的字段类型中字段的最大长度作为varchar的字符长度限制。
进一步的,如图4所示,所述插入单元33包括:
切分模块331,用于读取原始表对应的HDFS文件,并根据分割符对HDFS文件中的数据进行切分;
对应模块332,用于将切分后的数据分别与各字段名进行对应;
插入模块333,用于分别将读取的HDFS文件中的每行数据通过插入语句插入到目标表中,插入语句中包含HDFS中的数据以及对应的字段名。
进一步的,如图4所示,所述获取模块311用于:
根据Hive对应的HiveMetaStoreClient类的get Schema方法读取原始表包含的字段名以及字段类型。
具体的,本申请实施例的装置中各单元、模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请实施例,还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行图1至图2中任一所述的数据同步的方法。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据同步的方法,其特征在于,所述方法包括:
根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;
根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;
读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
2.根据权利要求1所述的数据同步的方法,其特征在于,所述数据仓库为Hive,所述关系型数据库为MySQL。
3.根据权利要求2所述的数据同步的方法,其特征在于,所述根据数据仓库中的原始表的元数据集合自动生成建表语句包括:
读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型;
将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型;
根据转换后的字段类型以及对应的字段名拼接成建表语句。
4.根据权利要求3所述的数据同步的方法,其特征在于,所述将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型包括:
将原始表中字段类型为string、array、struct、map的字段类型转换成可变字符类型varchar;并且,
将string、array、struct、map的字段类型中字段的最大长度作为varchar的字符长度限制。
5.根据权利要求1所述的数据同步的方法,其特征在于,所述读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中包括:
读取原始表对应的HDFS文件,并根据分割符对HDFS文件中的数据进行切分;
将切分后的数据分别与各字段名进行对应;
分别将读取的HDFS文件中的每行数据通过插入语句插入到目标表中,插入语句中包含HDFS中的数据以及对应的字段名。
6.根据权利要求3所述的数据同步的方法,其特征在于,所述读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型包括:
根据Hive对应的HiveMetaStoreClient类的getSchema方法读取原始表包含的字段名以及字段类型。
7.一种数据同步的装置,其特征在于,所述装置包括:
生成单元,用于根据数据仓库中的原始表的元数据集合自动生成建表语句,所述元数据集合为建表Schema;
创建单元,用于根据建表语句在关系型数据库中创建与所述原始表数据同步的目标表;
插入单元,用于读取数据仓库中的原始表对应的分布式文件系统HDFS文件,并将其中的数据插入到关系型数据库中对应的目标表中,完成数据仓库到关系型数据库的数据同步。
8.根据权利要求7所述的数据同步的装置,其特征在于,所述数据仓库为Hive,所述关系型数据库为MySQL。
9.根据权利要求8所述的数据同步的装置,其特征在于,所述生成单元包括:
获取模块,用于读取Hive的原始表中的元数据集合,获取原始表中包含的所有字段名和字段类型;
转换模块,用于将原始表中类型为Hive数据类型的字段类型转换为MySQL数据类型;
拼接模块,用于根据转换后的字段类型以及对应的字段名拼接成建表语句。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行权利要求1至权利要求6中任一项所述的数据同步的方法。
CN201910971156.7A 2019-10-09 2019-10-09 数据同步的方法及装置 Withdrawn CN110851511A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910971156.7A CN110851511A (zh) 2019-10-09 2019-10-09 数据同步的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910971156.7A CN110851511A (zh) 2019-10-09 2019-10-09 数据同步的方法及装置

Publications (1)

Publication Number Publication Date
CN110851511A true CN110851511A (zh) 2020-02-28

Family

ID=69597625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910971156.7A Withdrawn CN110851511A (zh) 2019-10-09 2019-10-09 数据同步的方法及装置

Country Status (1)

Country Link
CN (1) CN110851511A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115200A (zh) * 2020-09-16 2020-12-22 北京奇艺世纪科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112558952A (zh) * 2020-12-16 2021-03-26 中国平安人寿保险股份有限公司 程序语句生成方法、装置、计算机设备及存储介质
CN112597150A (zh) * 2020-12-04 2021-04-02 光大科技有限公司 数据采集方法、装置、可读存储介质和电子装置
CN114661713A (zh) * 2022-03-15 2022-06-24 平安科技(深圳)有限公司 数据同步方法、装置、设备及存储介质
CN114780368A (zh) * 2022-05-05 2022-07-22 湖南长银五八消费金融股份有限公司 表数据同步工具评测方法与表述数据同步方法
CN114860826A (zh) * 2022-04-27 2022-08-05 马上消费金融股份有限公司 数据同步方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
CN107085622A (zh) * 2017-06-15 2017-08-22 浙江极赢信息技术有限公司 一种将数据从Hive导入传统数据仓库的方法及装置
US20180096001A1 (en) * 2016-09-15 2018-04-05 Gb Gas Holdings Limited System for importing data into a data repository
CN108121757A (zh) * 2017-11-10 2018-06-05 广州优视网络科技有限公司 一种数据同步方法、装置、系统、计算设备及存储介质
CN108874924A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 搜索服务的创建方法、装置及计算机可读存储介质
CN109388676A (zh) * 2018-08-21 2019-02-26 中国平安人寿保险股份有限公司 数据同步生成方法、装置、计算机设备以及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
US20180096001A1 (en) * 2016-09-15 2018-04-05 Gb Gas Holdings Limited System for importing data into a data repository
CN107085622A (zh) * 2017-06-15 2017-08-22 浙江极赢信息技术有限公司 一种将数据从Hive导入传统数据仓库的方法及装置
CN108121757A (zh) * 2017-11-10 2018-06-05 广州优视网络科技有限公司 一种数据同步方法、装置、系统、计算设备及存储介质
CN108874924A (zh) * 2018-05-31 2018-11-23 康键信息技术(深圳)有限公司 搜索服务的创建方法、装置及计算机可读存储介质
CN109388676A (zh) * 2018-08-21 2019-02-26 中国平安人寿保险股份有限公司 数据同步生成方法、装置、计算机设备以及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115200A (zh) * 2020-09-16 2020-12-22 北京奇艺世纪科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112115200B (zh) * 2020-09-16 2023-08-29 北京奇艺世纪科技有限公司 数据同步方法、装置、电子设备及可读存储介质
CN112597150A (zh) * 2020-12-04 2021-04-02 光大科技有限公司 数据采集方法、装置、可读存储介质和电子装置
CN112558952A (zh) * 2020-12-16 2021-03-26 中国平安人寿保险股份有限公司 程序语句生成方法、装置、计算机设备及存储介质
CN114661713A (zh) * 2022-03-15 2022-06-24 平安科技(深圳)有限公司 数据同步方法、装置、设备及存储介质
CN114661713B (zh) * 2022-03-15 2024-03-19 平安科技(深圳)有限公司 数据同步方法、装置、设备及存储介质
CN114860826A (zh) * 2022-04-27 2022-08-05 马上消费金融股份有限公司 数据同步方法和装置
CN114780368A (zh) * 2022-05-05 2022-07-22 湖南长银五八消费金融股份有限公司 表数据同步工具评测方法与表述数据同步方法
CN114780368B (zh) * 2022-05-05 2023-04-25 湖南长银五八消费金融股份有限公司 表数据同步方法与装置

Similar Documents

Publication Publication Date Title
CN110851511A (zh) 数据同步的方法及装置
CN109739894B (zh) 补充元数据描述的方法、装置、设备及存储介质
CN107958057A (zh) 一种用于异构数据库中数据迁移的代码生成方法及装置
CN109857803B (zh) 数据同步方法、装置、设备、系统及计算机可读存储介质
CN109871311B (zh) 一种推荐测试用例的方法和装置
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
CN104268428A (zh) 一种用于指标计算的可视化配置方法
CN108829884B (zh) 数据映射方法及装置
US9418241B2 (en) Unified platform for big data processing
CN109408493A (zh) 一种数据源的迁移方法及系统
CN103631623A (zh) 一种集群系统中部署应用软件的方法及装置
CN111309868A (zh) 一种知识图谱构建、检索方法及装置
CN104102701A (zh) 一种基于hive的历史数据存档与查询方法
CN111858730A (zh) 一种图数据库的数据导入导出装置、方法、设备及介质
CN112948486A (zh) 批量数据同步方法、系统及电子设备
CN112988583A (zh) 数据库语法兼容性测试的方法和装置
CN111274241B (zh) 用于并行处理地图数据的方法和装置
CN113177090A (zh) 数据处理方法及装置
CN109800069B (zh) 一种实现数据治理的方法及装置
CN113468196B (zh) 用于处理数据的方法、装置、系统、服务器和介质
CN111625596B (zh) 新能源实时消纳调度的多源数据同步共享方法及系统
CN107885582B (zh) 异构容器集群迁移方法和控制器
CN116775599A (zh) 数据迁移方法、装置、电子设备、存储介质
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN104462157A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200228