一种数据迁移的方法和装置制造方法及图纸

技术编号:28488592 阅读:29 留言:0更新日期:2021-05-19 22:05
本发明专利技术公开了一种数据迁移的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据数据源名称从源数据库获取待迁移数据表;基于表字段从待迁移数据表中提取目标数据;将表字段映射为目标字段,并将目标数据的类型转换为目标类型,以生成迁移数据;将迁移数据存储到目标数据库。该实施方式能够高效地迁移海量数据;并在进行海量数据迁移的过程中,对海量数据在进行二次加工,处理为满足分析或查找等需求的数据。析或查找等需求的数据。析或查找等需求的数据。

【技术实现步骤摘要】
一种数据迁移的方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种数据迁移的方法和装置。

技术介绍

[0002]目前,多数企业的发展是以数据分析驱动的,利用大数据分析实现洞察的能力,充分释放企业潜能。但大量的数据存储、分析以及迁移等问题一直是一个挑战,随着数据量爆炸式的增长,对于大数据的快速分析处理的的时间也越来越严格,现有的数据迁移方法是通过最原始的手段,从Hive中导出的数据以.csv的格式存储,然后将文件的数据通过ClickHouse Client端的命令行方式导入ClickHouse。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]迁移效率低,需要大量精力;以及迁移的数据还需要二次加工以满足需求。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种数据迁移的方法和装置,能够高效地迁移海量数据;并在进行海量数据迁移的过程中,对海量数据在进行二次加工,处理为满足分析或查找等需求的数据。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据迁移的方法。
[0007]本专利技术实施例的一种数据迁移的方法包括:
[0008]根据数据源名称从源数据库获取待迁移数据表;
[0009]基于表字段从所述待迁移数据表中提取目标数据;
[0010]将所述表字段映射为目标字段,并将所述目标数据的类型转换为目标类型,以生成迁移数据;
[0011]将所述迁移数据存储到目标数据库。
[0012]可选地,基于表字段从所述待迁移数据表中提取目标数据,包括:
[0013]基于表字段从所述待迁移数据表中提取中间数据;
[0014]利用所述表字段的值从所述中间数据中筛选出目标数据。
[0015]可选地,将所述迁移数据存储到目标数据库,包括:
[0016]基于所述数据源名称查询所述目标数据库中是否存在存储所述迁移数据的存储数据表;其中,所述存储数据表与所述数据源名称对应;
[0017]若不存在,则基于所述目标字段创建所述存储数据表;并将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中;其中,所述存储数据表分布存储于所述目标数据库的各个子集群;
[0018]若存在,则将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中。
[0019]可选地,将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中,包括:
[0020]对所述数据源名称的哈希值与所述迁移数据的日期进行取模运算,得到模余;
[0021]基于所述模余从所述目标数据库的子集群中匹配目标子集群;
[0022]将所述迁移数据插入所述目标子集群。
[0023]可选地,所述源数据库是Hive数据仓,所述目标数据库是ClickHouse,以及
[0024]根据数据源名称从源数据库获取待迁移数据表,包括:
[0025]利用Spark根据至少一个数据库名和/或数据表名从Hive数据仓获取待迁移数据表;其中,所述待迁移数据表是矩阵数据表,具有行索引和列索引。
[0026]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种迁移数据的装置。
[0027]本专利技术实施例的一种数据迁移的装置包括:
[0028]获取模块,用于根据数据源名称从源数据库获取待迁移数据表;
[0029]提取模块,用于基于表字段从所述待迁移数据表中提取目标数据;
[0030]生成模块,用于将所述表字段映射为目标字段,并将所述目标数据的类型转换为目标类型,以生成迁移数据;
[0031]存储模块,用于将所述迁移数据存储到目标数据库。
[0032]可选地,所述提取模块还用于:
[0033]基于表字段从所述待迁移数据表中提取中间数据;
[0034]利用所述表字段的值从所述中间数据中筛选出目标数据。
[0035]可选地,所述存储模块还用于:
[0036]基于所述数据源名称查询所述目标数据库中是否存在存储所述迁移数据的存储数据表;其中,所述存储数据表与所述数据源名称对应;
[0037]若不存在,则基于所述目标字段创建所述存储数据表;并将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中;其中,所述存储数据表分布存储于所述目标数据库的各个子集群;
[0038]若存在,则将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中。
[0039]可选地,所述存储模块进一步用于:
[0040]对所述数据源名称的哈希值与所述迁移数据的日期进行取模运算,得到模余;
[0041]基于所述模余从所述目标数据库的子集群中匹配目标子集群;
[0042]将所述迁移数据插入所述目标子集群。
[0043]可选地,所述源数据库是Hive数据仓,所述目标数据库是ClickHouse,以及
[0044]所述获取模块还用于:
[0045]利用Spark根据至少一个数据库名和/或数据表名从Hive数据仓获取待迁移数据表;其中,所述待迁移数据表是矩阵数据表,具有行索引和列索引。
[0046]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种数据迁移的电子设备。
[0047]本专利技术实施例的一种数据迁移的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种数据迁移的方法。
[0048]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介质。
[0049]本专利技术实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被
处理器执行时实现本专利技术实施例的一种数据迁移的方法。
[0050]上述专利技术中的一个实施例具有如下优点或有益效果:因为采用根据数据源名称从源数据库获取待迁移数据表;基于表字段从待迁移数据表中提取目标数据;将表字段映射为目标字段,并将目标数据的类型转换为目标类型,以生成迁移数据;将迁移数据存储到目标数据库的技术手段,所以克服了迁移效率低,需要大量精力;以及迁移的数据还需要二次加工以满足需求的技术问题,进而达到能够高效地迁移海量数据;并在进行海量数据迁移的过程中,对海量数据在进行二次加工,处理为满足分析或查找等需求的数据的技术效果。
[0051]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0052]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0053]图1是根据本专利技术实施例的数据迁移的方法的主要步骤的示意图;
[0054]图2是根据本专利技术一个可参考实施例的数据迁移的方法的实现流程的示意图;
[0055]图3是根据本专利技术实施例的数据迁移的方法的实现框架的示意图;
[0056]图4是根据本发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移的方法,其特征在于,包括:根据数据源名称从源数据库获取待迁移数据表;基于表字段从所述待迁移数据表中提取目标数据;将所述表字段映射为目标字段,并将所述目标数据的类型转换为目标类型,以生成迁移数据;将所述迁移数据存储到目标数据库。2.根据权利要求1所述的方法,其特征在于,基于表字段从所述待迁移数据表中提取目标数据,包括:基于表字段从所述待迁移数据表中提取中间数据;利用所述表字段的值从所述中间数据中筛选出目标数据。3.根据权利要求1所述的方法,其特征在于,将所述迁移数据存储到目标数据库,包括:基于所述数据源名称查询所述目标数据库中是否存在存储所述迁移数据的存储数据表;其中,所述存储数据表与所述数据源名称对应;若不存在,则基于所述目标字段创建所述存储数据表;并将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中;其中,所述存储数据表分布存储于所述目标数据库的各个子集群;若存在,则将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中。4.根据权利要求3所述的方法,其特征在于,将所述迁移数据插入所述目标数据库的子集群的所述存储数据表中,包括:对所述数据源名称的哈希值与所述迁移数据的日期进行取模运算,得到模余;基于所述模余从所述目标数据库的子集群中匹配目标子集群;将所述迁移数据插入所述目标子集群。5.根据权利要求1所述的方法,其特征在于,所述源数据库是Hive数据仓,所述目标数据库是ClickHouse,以及根据数据源名称从源数据库获取待迁移数据表,包括:利用Spark根据至少一个数据库名和/或数据表名从Hive数据仓获取待迁移数据表;其中,所述待迁移数据表是矩阵数据表,具有行索引和列索引。6.一种数据迁移的装置,其特征在于,包括:获取模块,用于根据数据源名称从源数据库获取待迁移数据表;提取模块,用于基于表字段从所述待迁移数据表中提取目...

【专利技术属性】
技术研发人员:李刚勇邵先凯尹迎昭
申请(专利权)人:北京沃东天骏信息技术有限公司
类型:发明
国别省市:

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

1