一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

适用于大数据的数据迁移方法、装置、设备及存储介质与流程

2022-08-13 14:15:25 来源:中国专利 TAG:


1.本技术涉及到大数据技术领域,特别是涉及到一种适用于大数据的数据迁移方法、装置、设备及存储介质。


背景技术:

2.在目前的数仓系统的数据集市层(dm层)中,各个团队使用的主题数据表是各个团队独立开发和管理的,导致在版本开发过程中需要进行多次跨团队沟通,版本风险不可控,版本质量难以提升,因此,将各个团队的主题数据表迁移到同一个大数据平台进行统一管理显得尤为重要。数据迁移的完整性严重影响到现有业务系统的稳定性,如何快速的将不同来源的主题数据表完整的迁移到大数据平台变得至关重要。


技术实现要素:

3.本技术的主要目的为提供一种适用于大数据的数据迁移方法、装置、设备及存储介质,旨在解决如何快速的将不同来源的主题数据表完整的迁移到大数据平台的技术问题。
4.为了实现上述发明目的,本技术提出一种适用于大数据的数据迁移方法,所述方法包括:
5.根据预设的待迁移hive库确定待迁移flow;
6.根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;
7.根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;
8.从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;
9.从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;
10.根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;
11.根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
12.进一步的,所述根据预设的待迁移hive库确定待迁移flow的步骤,包括:
13.获取数据迁移配置;
14.将所述数据迁移配置中的第一hive库标识对应的hive库作为所述待迁移hive库;
15.根据所述数据迁移配置中的迁移程序配置,从所述待迁移hive库中确定需要迁移的程序,作为待分析程序;
16.获取所述待分析程序对应的flow,作为所述待迁移flow。
17.进一步的,所述根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表的步骤,包括:
18.从预设的人工智能计算平台中查找与所述待迁移flow对应的各个数据来源表,得到数据来源表集;
19.在所述数据来源表集中查找类型为主题数据的所述数据来源表,得到主题数据表集;
20.根据所述主题数据表集进行数据清洗表查找,作为待处理数据表集;
21.根据所述迁移账号和所述待处理数据表集获取数据清洗层发送的授权完成信号;
22.响应所述授权完成信号,将所述主题数据表集中的任一个所述数据来源表作为所述待迁移主题数据表。
23.进一步的,所述根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表的步骤,包括:
24.将所述数据迁移配置中的第二hive库标识对应的hive库作为所述目标hive库;
25.从所述待迁移hive库中获取与所述待迁移主题数据表对应的表结构,作为目标表结构;
26.采用预设的建表语句生成规则,根据所述目标表结构生成建表语句;
27.根据所述建表语句,在所述目标hive库中创建表,作为所述目标存放表。
28.进一步的,所述根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow的步骤,包括:
29.采用预设的定时时间,在所述目标任务文件对应的存放路径下创建flow,得到待处理flow;
30.将所述目标任务文件添加到所述待处理flow中,得到所述目标flow。
31.进一步的,所述根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中的步骤,包括:
32.执行所述目标flow调用所述目标任务文件;
33.执行所述目标任务文件对应的调度任务调用所述目标脚本;
34.执行所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
35.进一步的,所述根据预设的待迁移hive库确定待迁移flow的步骤之前,还包括:
36.根据所述数据迁移配置中的第二hive库标识,在预设的大数据hive库中创建库,作为所述目标hive库;
37.根据预设的权限配置,在所述目标hive库中进行账号的创建及账号的权限设置,得到所述目标hive库对应的所述迁移账号;
38.根据所述待迁移hive库的库名,在所述目标hive库对应的hdfs中创建文件读写目
录;
39.将所述目标hive库对应的所述迁移账号映射到所述文件读写目录中;
40.根据所述迁移账号,对所述待迁移hive库的配置文件进行配置;
41.对所述文件读写目录中的所述迁移账号分配读写权限;
42.根据所述目标hive库的库名,在预设的第二代码托管平台中创建目录,作为所述目标目录;
43.根据所述目标目录的名称,在预设的任务调度平台上创建工程,得到调度任务工程,其中,所述调度任务工程用于存储所述目标目录中的所述目标任务文件对应的各个调度任务;
44.根据所述目标hive库的库名,在预设的资源管理器中进行队列的创建及队列的设置,得到所述目标队列;
45.根据所述目标目录,对预设的代码部署平台的触发源中的代码源进行配置,得到目标代码部署平台,其中,所述目标代码部署平台用于根据所述代码源、所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到所述目标存放表。
46.本技术还提出了一种适用于大数据的数据迁移装置,所述装置包括:
47.待迁移flow确定模块,用于根据预设的待迁移hive库确定待迁移flow;
48.待迁移主题数据表确定模块,用于根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;
49.目标存放表确定模块,用于根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;
50.目标脚本确定模块,用于从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;
51.目标任务文件确定模块,用于从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;
52.目标flow确定模块,用于根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;
53.数据迁移模块,用于根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
54.本技术还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
55.本技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
56.本技术的适用于大数据的数据迁移方法、装置、设备及存储介质,其中方法根据预设的待迁移hive库确定待迁移flow;根据预设的目标hive库对应的迁移账号和所述待迁移
flow确定待迁移主题数据表;根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。通过将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台;通过根据待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表,从而实现将表结构迁移到大数据平台;因此,本技术实现了将主题数据表对应的数据库表脚本、调度任务文件、表结构、表数据全部迁移到大数据平台,在采用迁移后的大数据平台向业务系统提供服务时,避免影响业务系统的稳定性。
附图说明
57.图1为本技术一实施例的适用于大数据的数据迁移方法的流程示意图;
58.图2为本技术一实施例的适用于大数据的数据迁移装置的结构示意框图;
59.图3为本技术一实施例的计算机设备的结构示意框图。
60.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
61.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
62.参照图1,本技术实施例中提供一种适用于大数据的数据迁移方法,所述方法包括以下步骤s1-s7:
63.s1:根据预设的待迁移hive库确定待迁移flow;
64.s2:根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;
65.s3:根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;
66.s4:从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;
67.s5:从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;
68.s6:根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;
69.s7:根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
70.本实施例通过将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台;通过根据待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表,从而实现将表结构迁移到大数据平台;因此,本技术实现了将主题数据表对应的数据库表脚本、调度任务文件、表结构、表数据全部迁移到大数据平台,在采用迁移后的大数据平台向业务系统提供服务时,避免影响业务系统的稳定性。
71.对于s1,待迁移hive库,是需要迁移的hive库。hive库,也就是hive数据库。hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类sql查询功能。
72.flow,一个获取多个job及它们之间的依赖关系所组成的图表。job,也就是调度任务。
73.其中,在待迁移hive库中确认具体需要迁移的程序,这些程序对应到同一个flow,将该flow作为所述待迁移flow。
74.对于s2,查找出所述待迁移flow对应的所有数据来源表,从查找到的各个数据来源表中筛选出类型为主题数据的数据来源表,根据目标hive库对应的迁移账号,对筛选出的各个数据来源表各自对应的数据清洗表获取数据清洗层的授权,然后将筛选出的各个数据来源表中的任一个数据来源表作为待迁移主题数据表。
75.数据清洗表,是数据仓库的数据清洗层(dw层)中的数据表。
76.目标hive库,是想要迁移进入的hive库。
77.对于s3,从所述待迁移hive库中导出所述待迁移主题数据表的表结构,根据导出的表结构生成建表语句,然后在所述目标hive库中执行建表语句创建表,将创建的表作为目标存放表。
78.其中,建表语句,是.sql格式的文件。.sql格式的文件,是数据库脚本文件。
79.对于s4,可选的,第一代码托管平台采用git代码库。git,是开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
80.其中,从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,将获取的数据库表脚本作为待存储脚本,从而找到了需要迁移的脚本。
81.其中,将所述待存储脚本存储在预设的目标目录中,将所述目标目录中的所述待存储脚本作为待修改脚本;根据预设的目标队列的名称,对所述待修改脚本中的队列名称进行替换处理,根据所述目标hive库的库名,对所述待修改脚本中的与所述待迁移hive库的库名对应的名称进行替换处理,将完成替换处理的所述待修改脚本作为目标脚本。
82.比如,目标脚本的存放路径为:/rc_al_dm_bdsp/task/表名,其中,/rc_al_dm_bdsp为目标目录。
83.可以理解的是,若所述待修改脚本中还包含用户名时,还需要采用迁移账号中的用户名,对所述待修改脚本中的用户名进行替换处理。
84.可选的,资源管理器采用yarn。yarn,也就是apache hadoop yarn,是一种新的hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
85.其中,在环境准备阶段,根据所述目标hive库的库名,在预设的资源管理器中进行队列的创建及队列的设置,得到目标队列;在第二代码托管平台中创建目录,作为所述目标目录,也就是说,所述目标目录是存储迁移后的数据库表脚本、调度任务文件的目录。
86.对于s5,从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,将获取的调度任务文件作为待存储任务文件,从而找到了需要迁移的调度任务文件。
87.其中,将所述待存储任务文件存储在所述目标目录中,将所述目标目录中的所述待存储任务文件作为待修改任务文件;采用所述目标脚本对应的存放路径,对所述待修改任务文件的脚本路径进行替换处理,采用所述迁移账号的用户名,对所述待修改任务文件中的用户名进行替换处理,采用所述目标hive库的库名,对所述待修改任务文件中的与所述待迁移hive库的库名对应的名称进行替换处理,将完成替换处理的所述待修改任务文件作为待处理任务文件;对所述待处理任务文件进行推数代码的注释处理,将完成注释处理的所述待处理任务文件作为目标任务文件,通过将推数任务注释掉,从而实现在数据迁移期间,避免向下游推数而导致的业务数据错乱。
88.可以理解的是,调度任务文件是存放在目标目录中,映射到任务调度平台。
89.可选的,任务调度平台采用azkaban。azkaban是一套简单的任务调度服务,整体包括三部分webserver、dbserver、executorserver,azkaban是由linkedin开源的一个java项目,批量工作流任务调度器。
90.比如,所述目标脚本对应的存放路径为/rc_al_dm_bdsp/azkaban/表名,其中,/rc_al_dm_bdsp为目标目录。
91.对于s6,在所述目标任务文件对应的存放路径下,根据所述目标任务文件创建flow,并对创建的flow进行定时任务配置,将完成配置的flow作为目标flow。
92.比如,在/rc_al_dm_bdsp/azkaban下,新建flow为apply_0830,0830代表定时为早上8点30分,将所述目标任务文件中的job都添加到apply_0830中,然后将apply_0830作为目标flow。
93.对于s7,在任务调度平台,执行所述目标flow,通过所述目标flow调用所述目标任务文件,通过执行所述目标任务文件调用所述目标脚本,最后通过执行所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台的目标存放表中。
94.在一个实施例中,上述根据预设的待迁移hive库确定待迁移flow的步骤,包括以下步骤s11-s14:
95.s11:获取数据迁移配置;
96.s12:将所述数据迁移配置中的第一hive库标识对应的hive库作为所述待迁移
hive库;
97.s13:根据所述数据迁移配置中的迁移程序配置,从所述待迁移hive库中确定需要迁移的程序,作为待分析程序;
98.s14:获取所述待分析程序对应的flow,作为所述待迁移flow。
99.本实施例通过根据数据迁移配置自动确定待迁移flow,提高了本技术的自动化,提高了数据迁移的效率;而且采用统一的标准确定待迁移flow,提高了确定的待迁移flow的准确性,提高了数据迁移的准确性。
100.对于s11,可以获取用户输入的数据迁移配置,可以从数据库中获取数据迁移配置,还可以从第三方应用中获取数据迁移配置。
101.数据迁移配置,是进行数据迁移需要的配置数据。数据迁移配置包括:第一hive库标识、第二hive库标识和迁移程序配置。第一hive库标识,是需要迁移的hive库的库标识。第二hive库标识,是想要迁移进入的hive库的库标识。库标识可以是hive库的库名、hive库的id等唯一标识一个hive库的数据。迁移程序配置,是需要迁移的程序的程序标识的配置。可以理解的是,迁移程序配置可以是第一hive库标识对应的hive库中的所有程序,也可以是第一hive库标识对应的hive库中的部分程序。
102.对于s12,将所述数据迁移配置中的第一hive库标识对应的hive库作为所述待迁移hive库,从而自动化查找到了需要迁移的hive库。
103.对于s13,根据所述数据迁移配置中的迁移程序配置,从所述待迁移hive库中确定需要迁移的程序,将确定的程序作为待分析程序。
104.对于s14,根据所述待分析程序进行flow反推,从而确定所述待分析程序对应的flow,将确定的flow作为所述待迁移flow。
105.在一个实施例中,上述根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表的步骤,包括以下步骤s21-s25:
106.s21:从预设的人工智能计算平台中查找与所述待迁移flow对应的各个数据来源表,得到数据来源表集;
107.s22:在所述数据来源表集中查找类型为主题数据的所述数据来源表,得到主题数据表集;
108.s23:根据所述主题数据表集进行数据清洗表查找,作为待处理数据表集;
109.s24:根据所述迁移账号和所述待处理数据表集获取数据清洗层发送的授权完成信号;
110.s25:响应所述授权完成信号,将所述主题数据表集中的任一个所述数据来源表作为所述待迁移主题数据表。
111.本实施例根据待迁移flow自动化确定主题数据表集,并且获取主题数据表集对应的各个数据清洗表的授权完成信号,在主题数据表集对应的各个数据清洗表完成授权的情况下将所述主题数据表集中的任一个所述数据来源表作为所述待迁移主题数据表,从而实现了自动化确定待迁移主题数据表,提高了本技术的自动化,提高了数据迁移的效率;而且获取主题数据表集对应的各个数据清洗表的授权完成信号,避免在数据迁移的过程中因未授权而暂停数据迁移,提高了数据迁移的效率;而且采用统一的标准确定待迁移主题数据表,提高了确定的待迁移主题数据表的准确性,提高了数据迁移的准确性。
112.对于s21,可选的,人工智能计算平台采用atlas。atlas,是华为的人工智能计算平台。
113.其中,根据待迁移flow,在人工智能计算平台中查找血缘图,通过分析血缘图,即可找到待迁移flow对应的所有数据来源表,将找到的所有数据来源表作为数据来源表集。
114.对于s22,本技术需要迁移的对象是数据集市层中的表,将该表命名为主题数据表,因此,在所述数据来源表集中查找类型为主题数据的所述数据来源表,将查找到的各个所述数据来源表作为主题数据表集,从而找到了需要迁移的对象。
115.对于s23,查找所述主题数据表集使用到的所有数据清洗表,将查找到的所有数据清洗表作为待处理数据表集。
116.对于s24,向数据清洗层申请采用所述迁移账号访问所述待处理数据表集对应的各个数据表的授权;数据清洗层完成授权后将生成授权完成信号。
117.对于s25,在收到所述授权完成信号时,将所述主题数据表集中的任一个所述数据来源表作为所述待迁移主题数据表,从而实现了自动确定需要迁移的主题数据表。
118.在一个实施例中,上述根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表的步骤,包括以下步骤s31-s34:
119.s31:将所述数据迁移配置中的第二hive库标识对应的hive库作为所述目标hive库;
120.s32:从所述待迁移hive库中获取与所述待迁移主题数据表对应的表结构,作为目标表结构;
121.s33:采用预设的建表语句生成规则,根据所述目标表结构生成建表语句;
122.s34:根据所述建表语句,在所述目标hive库中创建表,作为所述目标存放表。
123.本实施例实现了自动获取所述待迁移主题数据表的表结构生成建表语句,并在目标hive库中创建表,提高了本技术的自动化,为表数据的迁移提供了基础。
124.对于s31,将所述数据迁移配置中的第二hive库标识对应的hive库作为所述目标hive库,从而自动化查找到想要迁移进入的hive库。
125.对于s32,从所述待迁移hive库中导出与所述待迁移主题数据表对应的表结构,将导出的表结构作为目标表结构。
126.对于s33,采用预设的建表语句生成规则,根据所述目标表结构生成建表语句,从而得到.sql格式的文件。
127.对于s34,在所述目标hive库中执行所述建表语句创建表,将创建的表作为所述目标存放表,从而实现了将所述待迁移主题数据表的表结构迁移到了目标存放表。
128.在一个实施例中,上述根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow的步骤,包括以下步骤s61-s62:
129.s61:采用预设的定时时间,在所述目标任务文件对应的存放路径下创建flow,得到待处理flow;
130.s62:将所述目标任务文件添加到所述待处理flow中,得到所述目标flow。
131.本实施例自动化根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,为定时进行数据迁移提供了基础,提高了本技术的自动化程度,提高了数据迁移的效率。
132.对于s61,在所述目标任务文件对应的存放路径下创建flow,根据定时时间对创建的flow进行定时任务配置,将完成设置的flow作为待处理flow。
133.对于s62,将所述目标任务文件对应的各个job添加到所述待处理flow中,然后将所述待处理flow作为所述目标flow。
134.在一个实施例中,上述根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中的步骤,包括以下步骤s71-s73:
135.s71:执行所述目标flow调用所述目标任务文件;
136.s72:执行所述目标任务文件对应的调度任务调用所述目标脚本;
137.s73:执行所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
138.本实施例通过执行目标flow调用目标任务文件对应的调度任务,通过调度任务调用所述目标脚本,最后通过执行目标脚本将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,实现了自动化进行表数据的迁移。
139.对于s71,在任务调度平台,执行所述目标flow,通过所述目标flow调用目标目录中的所述目标任务文件。
140.对于s72,通过执行所述目标任务文件对应的调度任务,调用目标目录中的所述目标脚本。
141.对于s73,通过执行所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台的目标存放表中。
142.在一个实施例中,上述根据预设的待迁移hive库确定待迁移flow的步骤之前,还包括以下步骤s011-s0110:
143.s011:根据所述数据迁移配置中的第二hive库标识,在预设的大数据hive库中创建库,作为所述目标hive库;
144.s012:根据预设的权限配置,在所述目标hive库中进行账号的创建及账号的权限设置,得到所述目标hive库对应的所述迁移账号;
145.s013:根据所述待迁移hive库的库名,在所述目标hive库对应的hdfs中创建文件读写目录;
146.s014:将所述目标hive库对应的所述迁移账号映射到所述文件读写目录中;
147.s015:根据所述迁移账号,对所述待迁移hive库的配置文件进行配置;
148.s016:对所述文件读写目录中的所述迁移账号分配读写权限;
149.s017:根据所述目标hive库的库名,在预设的第二代码托管平台中创建目录,作为所述目标目录;
150.s018:根据所述目标目录的名称,在预设的任务调度平台上创建工程,得到调度任务工程,其中,所述调度任务工程用于存储所述目标目录中的所述目标任务文件对应的各个调度任务;
151.s019:根据所述目标hive库的库名,在预设的资源管理器中进行队列的创建及队列的设置,得到所述目标队列;
152.s0110:根据所述目标目录,对预设的代码部署平台的触发源中的代码源进行配
置,得到目标代码部署平台,其中,所述目标代码部署平台用于根据所述代码源、所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到所述目标存放表。
153.本实施例实现了在确定待迁移flow之前进行环境准备,为快速的进行自动化数据迁移提供了基础。
154.对于s011,根据所述数据迁移配置中的第二hive库标识,在预设的大数据hive库中创建库,将创建的库作为所述目标hive库。
155.对于s012,在所述目标hive库中进行账号的创建,根据预设的权限配置,对创建的账号进行权限设置,将完成设置的账号作为所述目标hive库对应的所述迁移账号。
156.所述迁移账号包括:用户名和密码。
157.比如,所述目标hive库的库名为ph_rc_al_dm,所述迁移账号的用户名为ph_rc_al_default。
158.对于s013,通过hdfs命令,根据所述待迁移hive库的库名,在所述目标hive库对应的hdfs中创建文件读写目录。
159.hdfs,是hadoop distribute file system的简称,也就是hadoop的一个分布式文件系统。
160.对于s014,将所述目标hive库对应的所述迁移账号映射到所述文件读写目录中,从而实现了将所述目标hive库对应的所述迁移账号映射到了hdfs中。
161.比如,hdfs dfs mkdir/user/ph_rc_al_default,其中,hdfs dfs mkdir是文件读写目录,ph_rc_al_default是所述迁移账号的用户名。
162.对于s015,新建用户之后,需要在hive-site.xml文件中配置账号,因此,在所述待迁移hive库的配置文件(也就是hive-site.xml文件)中配置所述迁移账号,从而为beeline连接提供了基础。
163.beeline,是hive的命令行客户端工具。
164.对于s016,对所述文件读写目录中的所述迁移账号分配读写权限,从而为后续数据迁移进入目标hive库提供了基础。
165.对于s017,根据所述目标hive库的库名,在预设的第二代码托管平台中创建目录,将创建的目录作为所述目标目录。
166.比如,所述目标hive库的库名为ph_rc_al_dm,所述目标目录为./rc_al_dm_bdsp。
167.对于s018,在预设的任务调度平台上创建工程,根据所述目标目录的名称确定创建的工程的工程名,然后将该工程作为调度任务工程。
168.比如,所述目标目录的名称为./rc_al_dm_bdsp,调度任务工程的工程名为rc_al_dm_bdsp。
169.可以理解的是,所述目标目录中的所述目标任务文件对应的调度任务将会被映射到调度任务工程,从而使所述调度任务工程用于存储所述目标目录中的所述目标任务文件对应的各个调度任务。
170.对于s019,在预设的资源管理器中进行队列的创建,根据所述目标hive库的库名确定创建的队列的队列名,将该队列作为所述目标队列。
171.比如,所述目标hive库的库名为ph_rc_al_dm,所述目标队列的队列名为ph_rc_al_queue。
172.对于s0110,将预设的代码部署平台的触发源中的代码源配置成所述目标目录,将完成配置的代码部署平台作为目标代码部署平台。
173.代码部署平台,是用于测试、生产环境代码部署的平台。
174.所述目标代码部署平台用于根据所述代码源、所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到所述目标存放表。
175.可以理解的是,所述目标代码部署平台还可以用于提供接口、脚本的迁移、数据清洗表的授权等。
176.参照图2,本技术还提出了一种适用于大数据的数据迁移装置,所述装置包括:
177.待迁移flow确定模块100,用于根据预设的待迁移hive库确定待迁移flow;
178.待迁移主题数据表确定模块200,用于根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;
179.目标存放表确定模块300,用于根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;
180.目标脚本确定模块400,用于从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;
181.目标任务文件确定模块500,用于从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;
182.目标flow确定模块600,用于根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;
183.数据迁移模块700,用于根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
184.本实施例通过将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台;通过根据待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表,从而实现将表结构迁移到大数据平台;因此,本技术实现了将主题数据表对应的数据库表脚本、调度任务文件、表结构、表数据全部迁移到大数据平台,在采用迁移后的大数据平台向业务系统提供服务时,避免影响业务系统的稳定性。
185.参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存适用于大数据的数据迁移方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种适用于大数据的数据迁移方法。所述适用于大数据的数据迁移方法,包括:根据预设的待迁移
hive库确定待迁移flow;根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
186.本实施例通过将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台;通过根据待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表,从而实现将表结构迁移到大数据平台;因此,本技术实现了将主题数据表对应的数据库表脚本、调度任务文件、表结构、表数据全部迁移到大数据平台,在采用迁移后的大数据平台向业务系统提供服务时,避免影响业务系统的稳定性。
187.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种适用于大数据的数据迁移方法,包括步骤:根据预设的待迁移hive库确定待迁移flow;根据预设的目标hive库对应的迁移账号和所述待迁移flow确定待迁移主题数据表;根据所述待迁移hive库和所述待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表;从所述待迁移hive库对应的第一代码托管平台中获取与所述待迁移flow对应的数据库表脚本,得到待存储脚本,将所述待存储脚本存储在预设的目标目录中,得到待修改脚本,根据预设的目标队列的名称、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改脚本进行替换处理,得到目标脚本;从所述第一代码托管平台中获取与所述待迁移flow对应的调度任务文件,作为待存储任务文件,并将所述待存储任务文件存储在所述目标目录中,得到待修改任务文件,采用所述目标脚本对应的存放路径、所述迁移账号、所述待迁移hive库的库名和所述目标hive库的库名,对所述待修改任务文件进行替换处理,得到待处理任务文件,对所述待处理任务文件进行推数代码的注释处理,得到目标任务文件;根据所述目标任务文件对应的存放路径和所述目标任务文件进行flow的创建及flow的定时配置,得到目标flow;根据所述目标flow、所述目标任务文件和所述目标脚本,将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中。
188.上述执行的适用于大数据的数据迁移方法,通过将所述待迁移主题数据表对应的表数据迁移到所述目标存放表中,从而实现将表数据迁移到大数据平台;通过根据待迁移主题数据表,在所述目标hive库中创建表,得到目标存放表,从而实现将表结构迁移到大数据平台;因此,本技术实现了将主题数据表对应的数据库表脚本、调度任务文件、表结构、表数据全部迁移到大数据平台,在采用迁移后的大数据平台向业务系统提供服务时,避免影响业务系统的稳定性。
189.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
190.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
191.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献