当前位置:网站首页>数据搬迁最佳实践之使用CDM搬迁线下MySQL到DWS
数据搬迁最佳实践之使用CDM搬迁线下MySQL到DWS
2022-06-25 16:42:00 【华为云】
操作场景
当前CDM支持将本地MySQL数据库,整库迁移到RDS上的MySQL、PostgreSQL或者Microsoft SQL Server任意一种数据库中。在客户线下数据搬迁到华为云中,常用场景之一即是客户线下MySQL的数据搬迁到线上华为云的DWS实例中。本文针对CDM的单表迁移场景,介绍如何进行线下MySQL到线上DWS单表的数据搬迁。整体使用流程如下:
前提条件
- 已获取DWS数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有DWS数据库的读、写和删除权限。
- 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
- 用户已参考管理驱动,上传了MySQL数据库驱动。
创建CDM集群并绑定EIP
关键配置如下:
- CDM集群的规格,按待迁移的数据量选择,一般选择medium即可,满足大部分迁移场景。
- CDM集群所在VPC、子网、安全组,选择与DWS集群所在的网络一致。
2. CDM集群创建完成后,选择集群操作列的“绑定弹性IP”,CDM通过EIP访问MySQL。
图1 集群列表
说明:如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
创建MySQL连接
- 在CDM集群管理界面,单击集群后的“作业管理”,选择“连接管理> 新建连接”,进入连接器类型的选择界面,如图2所示。
图2 选择连接器类型
2. 选择“MySQL”后单击“下一步”,配置MySQL连接的参数。
图3 创建MySQL连接
单击“显示高级属性”可查看更多可选参数,具体请参见配置常见关系数据库连接。这里保持默认,必填参数如表1所示。
表1 MySQL连接参数 | ||
参数名 | 说明 | 取值样例 |
名称 | 输入便于记忆和区分的连接名称。 | mysqllink |
数据库服务器 | MySQL数据库的IP地址或域名。 | 192.168.1.110 |
端口 | MySQL数据库的端口。 | 3306 |
数据库名称 | MySQL数据库的名称。 | sqoop |
用户名 | 拥有MySQL数据库的读、写和删除权限的用户。 | admin |
密码 | 用户的密码。 | - |
使用Agent | 是否选择通过Agent从源端提取数据。 | 是 |
Agent | 单击“选择”,选择连接Agent中已创建的Agent。 | - |
3. 单击“保存”回到连接管理界面。
说明:如果保存时出错,一般是由于MySQL数据库的安全设置问题,需要设置允许CDM集群的EIP访问MySQL数据库。
创建DWS连接
- 在CDM集群管理界面,单击集群后的“作业管理”,选择“连接管理> 新建连接”,进入连接器类型的选择界面,如图4所示。
图4 选择连接器类型
2.连接器类型选择“数据仓库服务(DWS)”后单击“下一步”配置DWS连接参数,必填参数如表2所示,可选参数保持默认即可。
表2 DWS连接参数 | ||
参数名 | 说明 | 取值样例 |
名称 | 输入便于记忆和区分的连接名称。 | dwslink |
数据库服务器 | DWS数据库的IP地址或域名。 | 192.168.0.3 |
端口 | DWS数据库的端口。 | 8000 |
数据库名称 | DWS数据库的名称。 | db_demo |
用户名 | 拥有DWS数据库的读、写和删除权限的用户。 | dbadmin |
密码 | 用户的密码。 | - |
使用Agent | 是否选择通过Agent从源端提取数据。 | 是 |
Agent | 单击“选择”,选择连接Agent中已创建的Agent。 | - |
导入模式 | COPY模式:将源数据经过DWS管理节点后拷贝到数据节点。如果需要通过Internet访问DWS,只能使用COPY模式。 | COPY |
3. 单击“保存”完成创建连接。
创建迁移作业
- 选择“表/文件迁移> 新建作业”,开始创建从MySQL导出数据到DWS的任务。
图5 创建MySQL到DWS的迁移任务
- 作业名称:用户自定义便于记忆、区分的任务名称。
- 源端作业配置
- 源连接名称:选择创建MySQL连接中的“mysqllink”。
- 使用SQL语句:否。
- 模式或表空间:待抽取数据的模式或表空间名称。
- 表名:要抽取的表名。
- 其他可选参数一般情况下保持默认即可,详细说明请参见配置常见关系数据库源端参数。
- 目的端作业配置
- 目的连接名称:选择创建DWS连接中的连接“dwslink”。
- 模式或表空间:选择待写入数据的DWS数据库。
- 自动创表:只有当源端和目的端都为关系数据库时,才有该参数。
- 表名:待写入数据的表名,可以手动输入一个不存在表名,CDM会在DWS中自动创建该表。
- 是否压缩:DWS提供的压缩数据能力,如果选择“是”,将进行高级别压缩,CDM提供了适用I/O读写量大,CPU富足(计算相对小)的压缩场景。更多压缩级别详细说明请参见压缩级别。
- 存储模式:可以根据具体应用场景,建表的时候选择行存储还是列存储表。一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
- 扩大字符字段长度:当目的端和源端数据编码格式不一样时,自动建表的字符字段长度可能不够用,配置此选项后CDM自动建表时会将字符字段扩大3倍。
- 导入前清空数据:任务启动前,是否清除目的表中数据,用户可根据实际需要选择。
- 单击“下一步”进入字段映射界面,CDM会自动匹配源和目的字段,如图6所示。
- 如果字段映射顺序不匹配,可通过拖拽字段调整。
- 单击,可批量映射字段。
- CDM的表达式已经预置常用字符串、日期、数值等类型的字段内容转换,详细请参见字段转换。
图6 表到表的字段映射
2. 单击“下一步”配置任务参数,一般情况下全部保持默认即可。
该步骤用户可以配置如下可选功能:
- 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”。
- 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
- 是否定时执行:如果需要配置作业定时自动执行,请参见配置定时任务。这里保持默认值“否”。
- 抽取并发数:设置同时执行的抽取任务数。可适当调大参数,提升迁移效率。
- 是否写入脏数据:表到表的迁移容易出现脏数据,建议配置脏数据归档。
- 作业运行完是否删除:这里保持默认值“不删除”。
- 单击“保存并运行”,回到作业管理界面,在作业管理界面可查看作业执行进度和结果。
- 作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。
在历史记录界面单击“日志”,可查看作业的日志信息。
边栏推荐
- Tasklet API usage
- 2022-06-17 网工进阶(九)IS-IS-原理、NSAP、NET、区域划分、网络类型、开销值
- tensorflow 旧版本
- 论文笔记:LBCF: A Large-Scale Budget-Constrained Causal Forest Algorithm
- [untitled]
- 社交电商如何运营推广?
- 【機器學習】基於多元時間序列對高考預測分析案例
- Kettle表输入组件精度丢失的问题
- Problems encountered in using MySQL
- Internship: the annotation under swagger involves the provision of interfaces
猜你喜欢
随机推荐
六大专题全方位优化,阿里巴巴性能优化小册终开源,带你直抵性能极致
SMART PLC如何构造ALT指令
Cache architecture scheme of ten million level shopping cart system
redis 分布式锁整理
效应与定律
The problem of missing precision of kettle table input components
tensorflow 旧版本
Kalman Filter 遇到 Deep Learning : 卡尔曼滤波和深度学习有关的论文
项目经理在项目中起到的作用
Next.js 热更新 Markdown 文件变更
软考中的嵌入式系统设计师为什么考的人少?
XShell连接VMWare虚拟机
Are these old system codes written by pigs?
2022-06-17 网工进阶(十)IS-IS-通用报头、邻接关系的建立、IIH报文、DIS与伪节点
【機器學習】基於多元時間序列對高考預測分析案例
Using pywebio testing, novice testers can also make their own testing tools
远程终端控制神器——MobaXterm
2022云的世界会更好吗
[proficient in high concurrency] deeply understand the basis of C language and C language under assembly
单例模式应用