CN110162517A - 数据迁移方法、装置、设备及计算机可读存储介质 - Google Patents
数据迁移方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110162517A CN110162517A CN201910461350.0A CN201910461350A CN110162517A CN 110162517 A CN110162517 A CN 110162517A CN 201910461350 A CN201910461350 A CN 201910461350A CN 110162517 A CN110162517 A CN 110162517A
- Authority
- CN
- China
- Prior art keywords
- migration
- data
- cluster server
- file
- data file
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Abstract
本发明公开了一种数据迁移方法、装置、设备及计算机可读存储介质。该方法包括:循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取迁出集群服务器;调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询迁入消息中库表的建表语句,并将建表语句输出至迁出集群服务器的预先指定文件下的指定目录中;调用第二预设框架对迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,得到迁移信息和可执行的建表语句;执行可执行的建表语句以创建对应的hive表,并基于迁移信息将对应的数据文件迁移至hive表中。本发明能解决现有的数据迁移方法迁移效率较低、无法按需批量迁移的问题。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种数据迁移方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
随着信息技术的不断发展,信息的数据量持续增长,各种企业的数据也迎来了爆发式增长,因此,迫切需要运算处理大规模数据的能力。而Hadoop(海杜普)作为具有分布式存储和计算能力的开源项目,其采用并行计算框架进行高效的分布式计算,并拥有自己的分布式文件系统HDFS,可提供可扩展、健壮的数据存储,因而很快就得到各个行业的重视,被广泛应用于金融、商业、教育等领域。
分布式系统作为海量数据存储系统,需要解决的一个重要问题便是决定数据在集群中的分布策略,当某一数据库集群的存储能力和处理能力达到集群能力的上限,此时则需要通过数据迁移的方式缓解原有服务器的存储压力和负载压力。目前,在数据迁移过程中,通常是分别对hdfs数据文件和hive(是基于Hadoop的一个数据仓库工具)元数据两部分进行迁移的,具体的,先通过磁盘拷贝、distcp(分布式拷贝)等方式来跨大数据集群迁移dhfs数据文件,然后从hive metastore(一种存储hive元数据的服务)中批量导出迁移hive表结构和分区值(即hive元数据)。在上述数据迁移过程需人工分次输入待迁移的集群和库表,导致数据迁移效率也较低,无法做到按需批量迁移。
发明内容
本发明的主要目的在于提供一种数据迁移方法、装置、设备及计算机可读存储介质,旨在解决现有的数据迁移效率低、无法按需批量迁移的问题。
为实现上述目的,本发明提供一种数据迁移方法,所述数据迁移方法包括:
循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
可选地,所述迁移信息包括分区信息和数据文件存储位置,所述基于所述迁移信息将对应的数据文件迁移至所述hive表中的步骤包括:
判断所述分区信息为不存在分区还是为存在分区;
若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
可选地,所述判断所述分区信息为不存在分区还是为存在分区的步骤之后,还包括:
若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
执行所述添加分区的命令,以在所述hive表中添加对应的分区;
调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
可选地,所述数据迁移方法还包括:
通过所述预设接口获取迁移前数据文件的大小和迁移后数据文件的大小;
检测所述迁移前数据文件的大小和所述迁移后数据文件的大小是否相一致;
若所述迁移前数据文件的大小和所述迁移后数据文件的大小不一致,则生成对应的错误提示信息。
可选地,所述第一预设框架为expect+ssh框架,所述第二预设框架为expect+scp框架,所述预设接口为分布式拷贝distcp接口。
此外,为实现上述目的,本发明还提供一种数据迁移装置,所述数据迁移装置包括:
第一获取模块,用于循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
远程登录模块,用于调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
语句同步模块,用于调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
数据迁移模块,用于执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
可选地,所述迁移信息包括分区信息和数据文件存储位置,所述迁移模块包括:
信息判断单元,用于判断所述分区信息为不存在分区还是为存在分区;
第一迁移单元,用于若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
可选地,所述迁移模块还包括:
远程登录单元,用于若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
分区值同步单元,用于调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
分区添加单元,用于执行所述添加分区的命令,以在所述hive表中添加对应的分区;
第二迁移单元,用于调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
此外,为实现上述目的,本发明还提供一种数据迁移设备,所述数据迁移设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据迁移程序,所述数据迁移程序被所述处理器执行时实现如上所述的数据迁移方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据迁移程序,所述数据迁移程序被处理器执行时实现如上所述的数据迁移方法的步骤。
本发明提供一种数据迁移方法、装置、设备及计算机可读存储介质,通过循环读取预设配置文件,在从读取到迁入消息时,获取该迁入消息中的迁出集群服务器;调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询迁入消息中库表的建表语句,并将建表语句输出至迁出集群服务器的预先指定文件下的指定目录中;调用第二预设框架对迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;执行该可执行的建表语句,以创建对应的hive表,并基于该迁移信息将对应的数据文件迁移至该创建得到的hive表中。通过上述方式,本发明可实现完整的hive表跨集群迁移,且可直接通过读取配置文件中的迁入消息而智能实现按需批量迁移,相比于现有数据迁移过程中需人工分次输入待迁移的集群和库表,本发明可减少人为干预,从而提升迁移的整体效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据迁移方法第一实施例的流程示意图;
图3为本发明数据迁移装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据迁移设备可以是智能手机,也可以是PC(Personal Computer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该数据迁移设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据迁移设备结构并不构成对数据迁移设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据迁移程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据迁移程序,并执行以下数据迁移方法的各个步骤。
基于上述硬件结构,提出本发明数据迁移方法的各实施例。
本发明提供一种数据迁移方法。
参照图2,图2为本发明数据迁移方法第一实施例的流程示意图。
在本实施例中,该数据迁移方法包括:
步骤S10,循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
计算机技术的发展和大数据的来临,计算机技术在金融机构(如银行、保险、证券、理财机构)的应用也越来越广,现在的金融机构中在进行数据迁移,对迁移效率、迁移准确性的要求更高。由于数据量越来越多,目前的金融机构进行数据迁移时,通常是分别对hdfs数据文件和hive(是基于Hadoop的一个数据仓库工具)元数据两部分进行迁移的,其迁移方案是隔离的、不完整的,且数据迁移过程需人工分次输入待迁移的集群和库表,导致数据迁移效率也较低,无法做到按需批量迁移,这种情况严重不符合金融机构的要求。
本实施例的数据迁移方法是由数据迁移设备实现的,该设备以迁入集群服务器为例进行说明,其中,集群服务器是一种可以与hadoop(一种分布式系统的基础架构)集群进行交互的服务器,迁入集群服务器是指数据所迁移至的目标hadoop集群所对应的服务器,例如,从B hadoop集群将B库下的a、b、c表迁移至A hadoop集群中E库对应的a、b、c表,此时,则将A hadoop集群所对应的服务器称作迁入集群服务器,将B hadoop集群所对应的服务器称作迁出集群服务器。在本实施例中,各集群服务器会循环读取预设配置文件,当从预设配置文件中读取到迁入消息时,即读取到要将另一集群的数据迁入至该迁入集群服务器的迁入消息时,此时,则获取该迁入消息中的迁出集群服务器。其中,该预设配置文件用于记录需要进行数据迁移的集群信息和库表信息,可人为进行批量设定,也可以在工作人员通过软件发起数据迁移请求时,根据该数据迁移请求来自动进行设定。例如,上述例中,当需要从B hadoop集群将B库下的a、b、c表迁移至A hadoop集群中E库对应的a、b、c表,对应的,可在该预设配置文件中配置:
B a E a
B b E b
B c E c
对应的,A集群服务器在启动主程序后,可循环读取该预设配置文件,当从所述预设配置文件中读取到迁入消息时,可获取得到该迁入消息中的迁出集群服务器为B集群服务器。
步骤S20,调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
在获取到迁出集群服务器之后,调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询迁入消息中库表的建表语句,并将建表语句输出至迁出集群服务器的预先指定文件下的指定目录中。其中,第一预设框架为expect+ssh框架,expect是一种用来实现自动交互功能的软件,ssh为secure shell的缩写,是一种加密网络协议,其常见的应用程序包括远程命令行登录和远程命令执行,但任何网络服务都可以通过ssh进行安全保护,liunx(一种操作系统)下可用expect实现ssh自动登录并执行脚本。
步骤S30,调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
然后,调用第二预设框架对迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句。其中,第二预设框架为expect+scp框架,expect是一种用来实现自动交互功能的软件,scp为secure copy的缩写,是一种用于跨服务器加密的传输命令,可使用expect+scp去跨机器传输文件、自动同步文件。在对同步后的建表语句进行表格式化解析时,可采用liunx的sed(一项Linux指令)或awk(一种文本处理工具)文本处理工具进行表格式化解析。具体的,为了防止表在所要迁入的集群(如上例中a集群)已存在而报错,需先通过sed将create table字符替换成createtable if not exists,然后判断表a是否要指定存储路径,若已指定,则将建表语句中的location后的路径替换为指定的路径;若未指定,则将建表语句后的location这行之后的属性全部删除,使用默认的路径与表其他属性,即可得到可执行的建表语句。此外,在进行表格式化解析后,还可解析得到迁移信息,其中迁移信息包括分区信息和数据文件存储位置。
步骤S40,执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
最后,执行该可执行的建表语句,以创建对应的hive表,并基于该迁移信息将对应的数据文件迁移至该创建得到的hive表中。
其中,所述迁移信息包括分区信息和数据文件存储位置,步骤“基于所述迁移信息将对应的数据文件迁移至所述hive表中”包括:
步骤a1,判断所述分区信息为不存在分区还是为存在分区;
步骤a2,若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
若分区信息为不存在分区,此时,则调用预设接口,获取与数据文件存储位置对应的数据文件(即存储于数据文件存储位置下的数据文件),进而将获取到的数据文件迁移至hive表中。其中,该预设接口为distcp(分布式拷贝)接口。当然,在具体实施例中,还可以通过磁盘拷贝的方式来进行数据文件的迁移。
此外,在步骤a2之后,还包括:
步骤a3,若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
若分区信息为存在分区,此时,则需调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询库表的分区值,并将分区值输出至迁出集群服务器的预先指定文件下的指定目录中。其中,第一预设框架为expect+ssh框架,expect是一种用来实现自动交互功能的软件,ssh为secure shell的缩写,是一种加密网络协议,其常见的应用程序包括远程命令行登录和远程命令执行,但任何网络服务都可以通过ssh进行安全保护,liunx(一种操作系统)下可用expect实现ssh自动登录并执行脚本。
步骤a4,调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
然后,调用第二预设框架对迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令。其中,第二预设框架为expect+scp框架。在对同步后的分区值进行分区格式化解析时,可采用liunx的sed或awk文本处理工具进行表格式化解析。具体的,先处理分区文件中内容:1)先删除分区文件中的第一行,2)将/替换成为',3)将=替换成为=',4)在每一行前面添加partition(,5)在每一行末尾添加);然后,再拼接use E;alter table A add if not exists字符,就格式化成了hive的可执行的添加分区的命令了。例如上例中,在B集群a表上查出来的分区值为:
partition
ds=20150529/city=sz
ds=20150529/city=sh
通过调用expect+scp框架处理完分区文件中的内容后,可将分区转换成:
partition(ds='20150529',city='sz')
partition(ds='20190519',city='sh')
最后,可得到在A集群中可执行添加语句格式为:
use E;alter table A add if not exists partition(ds='20150529',city='sz')
partition(ds='20190519',city='sh')
步骤a5,执行所述添加分区的命令,以在所述hive表中添加对应的分区;
步骤a6,调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
在得到可执行的添加分区的命令后,执行该添加分区的命令,以在创建得到的hive表中添加对应的分区。进而,调用预设接口,获取与数据文件存储位置对应你的数据文件,并将获取到的数据文件迁移至该hive表对应的分区中。其中,该预设接口为distcp接口。
本发明实施例提供一种数据迁移方法,通过循环读取预设配置文件,在从读取到迁入消息时,获取该迁入消息中的迁出集群服务器;调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询迁入消息中库表的建表语句,并将建表语句输出至迁出集群服务器的预先指定文件下的指定目录中;调用第二预设框架对迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;执行该可执行的建表语句,以创建对应的hive表,并基于该迁移信息将对应的数据文件迁移至该创建得到的hive表中。通过上述方式,本发明实施例可实现完整的hive表跨集群迁移,且可直接通过读取配置文件中的迁入消息而智能实现按需批量迁移,相比于现有数据迁移过程中需人工分次输入待迁移的集群和库表,本发明实施例可减少人为干预,从而提升迁移的整体效率。
进一步的,基于图2所示的第一实施例,提出本发明数据迁移方法的第二实施例。
在本实施例中,该数据迁移方法还包括:
步骤A,通过所述预设接口获取迁移前数据文件的大小和迁移后数据文件的大小;
在本实施例中,在数据迁移完成后,可对迁移前后的数据文件大小进行校验,以检测数据是否被完整迁移。具体的,可通过该预设接口获取迁移前数据文件的大小和迁移后数据文件的大小,其中,该预设接口为dictcp接口。
步骤B,检测所述迁移前数据文件的大小和所述迁移后数据文件的大小是否相一致;
步骤C,若所述迁移前数据文件的大小和所述迁移后数据文件的大小不一致,则生成对应的错误提示信息。
然后,检测迁移前数据文件的大小和迁移后数据文件的大小是否相一致,若迁移前数据文件的大小和迁移后数据文件的大小不一致,则说明数据迁移过程中存在问题,此时,则生成对应的错误提示信息,具体的,可在日志文件中显示该错误提示信息。
在现有技术中,需另写脚本来校验迁移前后数据文件的大小,以检测数据迁移是否成功,而本实施例中,在通过distcp接口进行迁移时,可直接获取到迁移前后的数据文件大小,进而自动进行校验,因而可实现智能自动完成数据校验,以检测数据迁移是否成功。
本发明具体可应用在金融机构中的数据迁移过程中,例如银行机构在进行机房的迁移时,需把原机房的旧集群上的数据迁移至新机房的新集群上,可预先在预设配置文件中设定迁移信息,然后启动新机房各新集群对应的集群服务器的主程序,进而使得各集群服务器通过循环读取预设配置文件,在从预设配置文件中读取到迁入消息时,获取该迁入消息中的迁出集群服务器;调用第一预设框架远程登录至迁出集群服务器,以在迁出集群服务器上执行查询迁入消息中库表的建表语句,并将建表语句输出至迁出集群服务器的预先指定文件下的指定目录中;调用第二预设框架对迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;执行该可执行的建表语句,以创建对应的hive表,并基于该迁移信息将对应的数据文件迁移至该创建得到的hive表中。通过上述方式,可实现完整的hive表跨集群迁移,且可直接通过读取配置文件中的迁入消息而智能实现按需批量迁移,从而将旧集群上的数据迁移至新集群上,相比于现有数据迁移过程中需人工分次输入待迁移的集群和库表,本发明实施例可减少人为干预,从而提升迁移的整体效率。
本发明还提供一种数据迁移装置。
参照图3,图3为本发明数据迁移装置第一实施例的功能模块示意图。
如图3所示,所述数据迁移装置包括:
第一获取模块10,用于循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
远程登录模块20,用于调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
语句同步模块30,用于调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
数据迁移模块40,用于执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
进一步地,所述迁移信息包括分区信息和数据文件存储位置,所述迁移模块40包括:
信息判断单元,用于判断所述分区信息为不存在分区还是为存在分区;
第一迁移单元,用于若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
进一步地,所述迁移模块30还包括:
远程登录单元,用于若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
分区值同步单元,用于调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
分区添加单元,用于执行所述添加分区的命令,以在所述hive表中添加对应的分区;
第二迁移单元,用于调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
进一步地,所述数据迁移装置还包括:
第二获取模块,用于通过所述预设接口获取迁移前数据文件的大小和迁移后数据文件的大小;
大小检测模块,用于检测所述迁移前数据文件的大小和所述迁移后数据文件的大小是否相一致;
错误提示模块,用于若所述迁移前数据文件的大小和所述迁移后数据文件的大小不一致,则生成对应的错误提示信息。
进一步地,所述第一预设框架为expect+ssh框架,所述第二预设框架为expect+scp框架,所述预设接口为分布式拷贝distcp接口。
其中,上述数据迁移装置中各个模块的功能实现与上述数据迁移方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据迁移程序,所述数据迁移程序被处理器执行时实现如以上任一项实施例所述的数据迁移方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据迁移方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据迁移方法,其特征在于,所述数据迁移方法包括:
循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
2.如权利要求1所述的数据迁移方法,其特征在于,所述迁移信息包括分区信息和数据文件存储位置,所述基于所述迁移信息将对应的数据文件迁移至所述hive表中的步骤包括:
判断所述分区信息为不存在分区还是为存在分区;
若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
3.如权利要求2所述的数据迁移方法,其特征在于,所述判断所述分区信息为不存在分区还是为存在分区的步骤之后,还包括:
若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
执行所述添加分区的命令,以在所述hive表中添加对应的分区;
调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
4.如权利要求2所述的数据迁移方法,其特征在于,所述数据迁移方法还包括:
通过所述预设接口获取迁移前数据文件的大小和迁移后数据文件的大小;
检测所述迁移前数据文件的大小和所述迁移后数据文件的大小是否相一致;
若所述迁移前数据文件的大小和所述迁移后数据文件的大小不一致,则生成对应的错误提示信息。
5.如权利要求2至4中任一项所述的数据迁移方法,其特征在于,所述第一预设框架为expect+ssh框架,所述第二预设框架为expect+scp框架,所述预设接口为分布式拷贝distcp接口。
6.一种数据迁移装置,其特征在于,所述数据迁移装置包括:
第一获取模块,用于循环读取预设配置文件,当从所述预设配置文件中读取到迁入消息时,获取所述迁入消息中的迁出集群服务器;
远程登录模块,用于调用第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述迁入消息中库表的建表语句,并将所述建表语句输出至所述迁出集群服务器的预先指定文件下的指定目录中;
语句同步模块,用于调用第二预设框架对所述迁出集群服务器上的建表语句进行同步,并对同步后的建表语句进行表格式化解析,以得到迁移信息和可执行的建表语句;
数据迁移模块,用于执行所述可执行的建表语句,以创建对应的hive表,并基于所述迁移信息将对应的数据文件迁移至所述hive表中。
7.如权利要求6所述的数据迁移装置,其特征在于,所述迁移信息包括分区信息和数据文件存储位置,所述迁移模块包括:
信息判断单元,用于判断所述分区信息为不存在分区还是为存在分区;
第一迁移单元,用于若所述分区信息为不存在分区,则调用预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表中。
8.如权利要求7所述的数据迁移装置,其特征在于,所述迁移模块还包括:
远程登录单元,用于若所述分区信息为存在分区,则调用所述第一预设框架远程登录至所述迁出集群服务器,以在所述迁出集群服务器上执行查询所述库表的分区值,并将所述分区值输出至所述迁出集群服务器的预先指定文件下的指定目录中;
分区值同步单元,用于调用所述第二预设框架对所述迁出集群服务器上的分区值进行同步,并对同步后的分区值进行分区格式化解析,以得到可执行的添加分区的命令;
分区添加单元,用于执行所述添加分区的命令,以在所述hive表中添加对应的分区;
第二迁移单元,用于调用所述预设接口,获取与所述数据文件存储位置对应的数据文件,并将获取到的数据文件迁移至所述hive表对应的分区中。
9.一种数据迁移设备,其特征在于,所述数据迁移设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据迁移程序,所述数据迁移程序被所述处理器执行时实现如权利要求1至5中任一项所述的数据迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据迁移程序,所述数据迁移程序被处理器执行时实现如权利要求1至5中任一项所述的数据迁移方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910461350.0A CN110162517A (zh) | 2019-05-30 | 2019-05-30 | 数据迁移方法、装置、设备及计算机可读存储介质 |
PCT/CN2020/092128 WO2020238858A1 (zh) | 2019-05-30 | 2020-05-25 | 数据迁移方法、装置、及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910461350.0A CN110162517A (zh) | 2019-05-30 | 2019-05-30 | 数据迁移方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110162517A true CN110162517A (zh) | 2019-08-23 |
Family
ID=67630112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910461350.0A Pending CN110162517A (zh) | 2019-05-30 | 2019-05-30 | 数据迁移方法、装置、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110162517A (zh) |
WO (1) | WO2020238858A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543520A (zh) * | 2019-08-30 | 2019-12-06 | 京东数字科技控股有限公司 | 一种数据迁移的方法和装置 |
CN111241203A (zh) * | 2020-02-10 | 2020-06-05 | 江苏满运软件科技有限公司 | Hive数据仓库同步方法、系统、设备及存储介质 |
CN111274213A (zh) * | 2020-02-13 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统HDFS跨Insight集群实时数据传输方法与系统 |
WO2020238858A1 (zh) * | 2019-05-30 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 数据迁移方法、装置、及计算机可读存储介质 |
CN112597127A (zh) * | 2020-12-15 | 2021-04-02 | 深圳市汉云科技有限公司 | 跨集群的访问方法、装置、设备及存储介质 |
CN113742319A (zh) * | 2021-09-14 | 2021-12-03 | 中电福富信息科技有限公司 | 一种基于expect的不同数据库管理系统的数据迁移方法 |
CN115113798A (zh) * | 2021-03-17 | 2022-09-27 | 中国移动通信集团山东有限公司 | 一种应用于分布式存储的数据迁移方法、系统及设备 |
CN115242538A (zh) * | 2022-07-28 | 2022-10-25 | 天翼云科技有限公司 | 一种数据传输方法及装置 |
CN115277840A (zh) * | 2022-03-18 | 2022-11-01 | 中国建设银行股份有限公司 | 一种数据迁移方法、装置、电子设备及计算机可读介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2784675B1 (en) * | 2012-02-09 | 2016-12-28 | Huawei Technologies Co., Ltd. | Method, device and system for data reconstruction |
CN105468473B (zh) * | 2014-07-16 | 2019-03-01 | 北京奇虎科技有限公司 | 数据迁移方法及数据迁移装置 |
JP6356599B2 (ja) * | 2014-12-26 | 2018-07-11 | 株式会社日立製作所 | 監視支援システム、監視支援方法、および監視支援プログラム |
CN106095940A (zh) * | 2016-06-14 | 2016-11-09 | 齐鲁工业大学 | 一种基于任务负载的数据迁移方法 |
CN107992512A (zh) * | 2017-10-20 | 2018-05-04 | 中国建设银行股份有限公司上海市分行 | 一种数据迁移的方法、系统及计算机可读存储介质 |
CN110162517A (zh) * | 2019-05-30 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 数据迁移方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-05-30 CN CN201910461350.0A patent/CN110162517A/zh active Pending
-
2020
- 2020-05-25 WO PCT/CN2020/092128 patent/WO2020238858A1/zh active Application Filing
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238858A1 (zh) * | 2019-05-30 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 数据迁移方法、装置、及计算机可读存储介质 |
CN110543520B (zh) * | 2019-08-30 | 2022-02-01 | 京东科技控股股份有限公司 | 一种数据迁移的方法和装置 |
CN110543520A (zh) * | 2019-08-30 | 2019-12-06 | 京东数字科技控股有限公司 | 一种数据迁移的方法和装置 |
CN111241203A (zh) * | 2020-02-10 | 2020-06-05 | 江苏满运软件科技有限公司 | Hive数据仓库同步方法、系统、设备及存储介质 |
CN111274213A (zh) * | 2020-02-13 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统HDFS跨Insight集群实时数据传输方法与系统 |
CN111274213B (zh) * | 2020-02-13 | 2022-07-15 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统HDFS跨Insight集群实时数据传输方法与系统 |
CN112597127A (zh) * | 2020-12-15 | 2021-04-02 | 深圳市汉云科技有限公司 | 跨集群的访问方法、装置、设备及存储介质 |
CN115113798A (zh) * | 2021-03-17 | 2022-09-27 | 中国移动通信集团山东有限公司 | 一种应用于分布式存储的数据迁移方法、系统及设备 |
CN115113798B (zh) * | 2021-03-17 | 2024-03-19 | 中国移动通信集团山东有限公司 | 一种应用于分布式存储的数据迁移方法、系统及设备 |
CN113742319A (zh) * | 2021-09-14 | 2021-12-03 | 中电福富信息科技有限公司 | 一种基于expect的不同数据库管理系统的数据迁移方法 |
CN115277840A (zh) * | 2022-03-18 | 2022-11-01 | 中国建设银行股份有限公司 | 一种数据迁移方法、装置、电子设备及计算机可读介质 |
CN115277840B (zh) * | 2022-03-18 | 2024-04-23 | 中国建设银行股份有限公司 | 一种数据迁移方法、装置、电子设备及计算机可读介质 |
CN115242538A (zh) * | 2022-07-28 | 2022-10-25 | 天翼云科技有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020238858A1 (zh) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162517A (zh) | 数据迁移方法、装置、设备及计算机可读存储介质 | |
CN110569311B (zh) | 一种数据库的数据同步方法、设备和计算机存储介质 | |
CN107832406B (zh) | 海量日志数据的去重入库方法、装置、设备及存储介质 | |
US10152773B2 (en) | Creating a blurred area for an image to reuse for minimizing blur operations | |
CN109034993A (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
CN106886375A (zh) | 存储数据的方法和装置 | |
CN103268351B (zh) | 一种数据同步方法和设备 | |
US9535793B2 (en) | Method and system for data migration | |
US20140304384A1 (en) | Uploading large content items | |
CN107832448A (zh) | 数据库操作方法、装置及设备 | |
CN113254534A (zh) | 数据同步方法、装置及计算机存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
WO2014182867A1 (en) | Techniques to recover files in a storage network | |
CN104615662A (zh) | 一种处理数据的方法、装置及终端设备 | |
CN104462342B (zh) | 数据库快照同步处理方法及装置 | |
CN109947712A (zh) | 计算框架内自动合并文件的方法、系统、设备及介质 | |
CN105574026A (zh) | 非关系型数据库支持事务的方法及装置 | |
CN113821254A (zh) | 接口数据处理方法、装置、存储介质及设备 | |
CN112559913A (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
TWI571754B (zh) | 用來進行檔案同步控制之方法與裝置 | |
CN115081412A (zh) | 表格内容处理方法、装置、设备、存储介质 | |
CN113656128A (zh) | 页面生成方法、装置和电子设备 | |
EP3289544A1 (en) | Insertion of unsaved content via content channel | |
CN104899118A (zh) | 一种对删除的隐私数据的恢复方法及系统 | |
CN107273217A (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 |