操作场景
CDM支持表到表的迁移,本章节以MySQL-->DWS为例,介绍如何通过CDM将表数据迁移到表中。流程如下:
1.创建CDM集群并绑定EIP
2.创建MySQL连接
3.创建DWS连接
4.创建迁移作业
前提条件
- 已获取DWS数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有DWS数据库的读、写和删除权限。
- 已获取连接MySQL数据库的IP地址、端口、数据库名称、用户名、密码,且该用户拥有MySQL数据库的读写权限。
- 用户已参考管理驱动,上传了MySQL数据库驱动。
创建CDM集群并绑定EIP
1.参考创建CDM集群,创建CDM集群。
关键配置如下:
- CDM集群的规格,按待迁移的数据量选择,一般选择cdm.medium即可,满足大部分迁移场景。
- CDM集群所在VPC、子网、安全组,选择与DWS集群所在的网络一致。
2.CDM集群创建完成后,选择集群操作列的“绑定弹性IP”,CDM通过EIP访问MySQL。
说明如果用户对本地数据源的访问通道做了SSL加密,则CDM无法通过弹性IP连接数据源。
创建MySQL连接
1.在CDM集群管理界面,单击集群后的“作业管理”,选择“连接管理 > 新建连接”,进入连接器类型的选择界面。
2.选择“MySQL”后单击“下一步”,配置MySQL连接的参数。
单击“显示高级属性”可查看更多可选参数,具体请参见 配置常见关系数据库连接。这里保持默认,必填参数如下表“MySQL连接参数”所示。
参数名 | 说明 | 取值样例 |
---|---|---|
名称 | 输入便于记忆和区分的连接名称。 | mysqllink |
数据库服务器 | MySQL数据库的IP地址或域名。 | 192.168.1.110 |
端口 | MySQL数据库的端口。 | 3306 |
数据库名称 | MySQL数据库的名称。 | sqoop |
用户名 | 拥有MySQL数据库的读、写和删除权限的用户。 | admin |
密码 | 用户的密码。 | - |
使用本地API | 使用数据库本地API加速(系统会尝试启用MySQL数据库的local_infile系统变量)。 | 是 |
使用Agent | 是否选择通过Agent从源端提取数据。 | 是 |
local_infile字符集 | mysql通过local_infile导入数据时,可配置编码格式。 | utf8 |
驱动版本 | 适配mysql的驱动。 | - |
Agent | 单击“选择”,选择连接Agent中已创建的Agent。 | - |
单次请求行数 | 指定每次请求获取的行数。 | 1000 |
单次提交行数 | 支持通过agent从源端提取数据 | 1000 |
连接属性 | 自定义连接属性。 | useCompression=true |
引用符号 | 连接引用表名或列名时的分隔符号。默认为空。 | ' |
单次写入行数 | 指定单次批量写入的行数,当写入行数累计到单次批量提交行数时提交一次,该值应当小于单次提交行数。 | 100 |
3.单击“保存”回到连接管理界面。
说明如果保存时出错,一般是由于MySQL数据库的安全设置问题,需要设置允许CDM集群的EIP访问MySQL数据库。
创建DWS连接
1.在CDM集群管理界面,单击集群后的“作业管理”,选择“连接管理 > 新建连接”,进入连接器类型的选择界面。
2.连接器类型选择“数据仓库服务(DWS)”后单击“下一步”配置DWS连接参数,必填参数如下表“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.单击“保存”完成创建连接。
创建迁移作业
1.选择“表/文件迁移 > 新建作业”,开始创建从MySQL导出数据到DWS的任务。
详见下图:创建MySQL到DWS的迁移任务
- 作业名称:用户自定义便于记忆、区分的任务名称。
- 源端作业配置
−源连接名称:选择上述 创建MySQL连接 中的“mysqllink”。
−使用SQL语句:否。
−模式或表空间:待抽取数据的模式或表空间名称。
−表名:要抽取的表名。
−其他可选参数一般情况下保持默认即可,详细说明请参见配置常见关系数据库源端参数。
- 目的端作业配置
−目的连接名称:选择创建DWS连接中的连接“dwslink”。
−模式或表空间:选择待写入数据的DWS数据库。
−自动创表:只有当源端和目的端都为关系数据库时,才有该参数。
−表名:待写入数据的表名,可以手动输入一个不存在表名,CDM会在DWS中自动创建该表。
−是否压缩:DWS提供的压缩数据能力,如果选择“是”,将进行高级别压缩,CDM提供了适用I/O读写量大,CPU富足(计算相对小)的压缩场景
−存储模式:可以根据具体应用场景,建表的时候选择行存储还是列存储表。一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。
−扩大字符字段长度:当目的端和源端数据编码格式不一样时,自动建表的字符字段长度可能不够用,配置此选项后CDM自动建表时会将字符字段扩大3倍。
−导入前清空数据:任务启动前,是否清除目的表中数据,用户可根据实际需要选择。
2.单击“下一步”进入字段映射界面,CDM会自动匹配源和目的字段,如下图“表到表的字段映射”所示。
- 如果字段映射顺序不匹配,可通过拖拽字段调整。
- 单击,可批量映射字段。
- CDM的表达式已经预置常用字符串、日期、数值等类型的字段内容转换。
3.单击“下一步”配置任务参数,一般情况下全部保持默认即可。
该步骤用户可以配置如下可选功能:
- 作业失败重试:如果作业执行失败,可选择是否自动重试,这里保持默认值“不重试”。
- 作业分组:选择作业所属的分组,默认分组为“DEFAULT”。在CDM“作业管理”界面,支持作业分组显示、按组批量启动作业、按分组导出作业等操作。
- 是否定时执行:如果需要配置作业定时自动执行,请参见 配置定时任务。这里保持默认值“否”。
- 抽取并发数:设置同时执行的抽取任务数。可适当调大参数,提升迁移效率。
- 是否写入脏数据:表到表的迁移容易出现脏数据,建议配置脏数据归档。
- 作业运行完是否删除:这里保持默认值“不删除”。
4.单击“保存并运行”,回到作业管理界面,在作业管理界面可查看作业执行进度和结果。
5.作业执行成功后,单击作业操作列的“历史记录”,可查看该作业的历史执行记录、读取和写入的统计数据。
在历史记录界面单击“日志”,可查看作业的日志信息。