- 最新动态
- 功能总览
- 产品介绍
- 快速入门
-
用户指南
- IAM权限管理
- 支持的数据源
- 创建并管理CDM集群
-
在CDM集群中创建连接
- 创建CDM与数据源之间的连接
-
配置连接参数
- OBS连接参数说明
- PostgreSQL/SQLServer连接参数说明
- 数据仓库服务(DWS)连接参数说明
- 云数据库MySQL/MySQL数据库连接参数说明
- Oracle数据库连接参数说明
- DLI连接参数说明
- Hive连接参数说明
- HBase连接参数说明
- HDFS连接参数说明
- FTP/SFTP连接参数说明
- Redis连接参数说明
- DDS连接参数说明
- CloudTable连接参数说明
- MongoDB连接参数说明
- Cassandra连接参数说明
- DIS连接参数说明
- Kafka连接参数说明
- DMS Kafka连接参数说明
- 云搜索服务(CSS)连接参数说明
- Elasticsearch连接参数说明
- 达梦数据库 DM连接参数说明
- SAP HANA连接参数说明
- 分库连接参数说明
- MRS Hudi连接参数说明
- MRS ClickHouse连接参数说明
- 神通(ST)连接参数说明
- LogHub(SLS)连接参数说明
- Doris连接参数说明
- YASHAN连接参数说明
- 上传CDM连接驱动
- 新建Hadoop集群配置
-
在CDM集群中创建作业
- 新建表/文件迁移作业
- 新建整库迁移作业
-
配置CDM作业源端参数
- 配置OBS源端参数
- 配置HDFS源端参数
- 配置HBase/CloudTable源端参数
- 配置Hive源端参数
- 配置DLI源端参数
- 配置FTP/SFTP源端参数
- 配置HTTP源端参数
- 配置PostgreSQL/SQL Server源端参数
- 配置DWS源端参数
- 配置SAP HANA源端参数
- 配置MySQL源端参数
- 配置Oracle源端参数
- 配置分库源端参数
- 配置MongoDB/DDS源端参数
- 配置Redis源端参数
- 配置DIS源端参数
- 配置Kafka/DMS Kafka源端参数
- 配置Elasticsearch/云搜索服务源端参数
- 配置MRS Hudi源端参数
- 配置MRS ClickHouse源端参数
- 配置达梦数据库 DM源端参数
- 配置LogHub(SLS)源端参数
- 配置神通(ST)源端参数
- 配置Doris源端参数
- 配置YASHAN源端参数
- 配置CDM作业目的端参数
- 配置CDM作业字段映射
- 配置CDM作业定时任务
- CDM作业配置管理
- 管理单个CDM作业
- 批量管理CDM作业
- 查看审计日志
- 关键操作指导
- 使用教程
- 最佳实践
- 性能白皮书
- 安全白皮书
- API参考
- SDK参考
-
常见问题
- 通用类
-
功能类
- 是否支持增量迁移?
- 是否支持字段转换?
- Hadoop类型的数据源进行数据迁移时,建议使用的组件版本有哪些?
- 数据源为Hive时支持哪些数据格式?
- 是否支持同步作业到其他集群?
- 是否支持批量创建作业?
- 是否支持批量调度作业?
- 如何备份CDM作业?
- 如何解决HANA集群只有部分节点和CDM集群网络互通?
- 如何使用Java调用CDM的Rest API创建数据迁移作业?
- 如何将云下内网或第三方云上的私网与CDM连通?
- CDM是否支持参数或者变量?
- CDM迁移作业的抽取并发数应该如何设置?
- CDM是否支持动态数据实时迁移功能?
- CDM是否支持集群关机功能?
- 如何使用表达式方式获取当前时间?
- 在创建迁移作业时,where语句参数中的时间格式是怎样的?
- CDM作业可以将源表中的字段注释迁移到目标端表吗?
- 如何查询数据连接创建人?
-
故障处理类
- 日志提示解析日期格式失败时怎么处理?
- 字段映射界面无法显示所有列怎么处理?
- CDM迁移数据到DWS时如何选取分布列?
- 迁移到DWS时出现value too long for type character varying怎么处理?
- OBS导入数据到SQL Server时出现Unable to execute the SQL statement怎么处理?
- 获取集群列表为空/没有权限访问/操作时报当前策略不允许执行?
- Oracle迁移到DWS报错ORA-01555
- MongoDB连接迁移失败时如何处理?
- Hive迁移作业长时间卡顿怎么办?
- 使用CDM迁移数据由于字段类型映射不匹配导致报错怎么处理?
- MySQL迁移时报错“JDBC连接超时”怎么办?
- 创建了Hive到DWS类型的连接,进行CDM传输任务失败时如何处理?
- 如何使用CDM服务将MySQL的数据导出成SQL文件,然后上传到OBS桶?
- 如何处理CDM从OBS迁移数据到DLI出现迁移中断失败的问题?
- 报错“配置项[linkConfig.createBackendLinks]不存在”或“配置项 [throttlingConfig.concurrentSubJobs] 不存在怎么办”?
- 新建MRS Hive连接时,提示:CORE_0031:Connect time out. (Cdm.0523) 怎么解决?
- 迁移时已选择表不存在时自动创表,提示“CDM not support auto create empty table with no column”怎么处理?
- 创建Oracle关系型数据库迁移作业时,无法获取模式名怎么处理?
- MySQL迁移时报错:invalid input syntax for integer: "true"
- 作业源端是Oracle时,运行时间过长报snapshot too old怎么解决?
- 整库迁移到Hive,报错Identifier name is too long如何处理?
- 迁移数据到DLI时有数据丢失怎么处理?
- 创建Oracle数据连接测试连通性成功,连接管理界面中测试连接失败。是什么原因?
- 作业配置表不存在时自动创建,目的端字段映射不出来怎么处理?
- 作业从旧集群导出,再导入到新的集群失败怎么解决?
- 迁移HDFS文件,报错无法获取块怎么处理?
- 创建MRS数据连接时测试连通性报下载配置文件失败错误怎么处理?
- CDM作业管理访问不了,提示网络或服务器访问异常怎么处理?
- 通过CDM从OBS迁移数据到DLI,同样的作业在新版本集群迁移失败?
- CDM迁移DWS数据报错Read timedout怎么处理?
- CDM集群Hive连接无法查询库和表的内容
- 创建FusionInsight HDFS连接报错get filesystem怎么解决?
- Mysql导入数据到DLI,快执行完时失败了提示Invoke DLI service api failed错误怎么解决?
- 作业配置添加字段,MongoDB字段映射存在问题
- DLI外表(OBS文件)迁移DWS某字段转义,带有“\”
- 执行Postgresql-to-Hive迁移作业报错“Error occurs during loader run”
- 迁移Mysql到DWS报错“Lost connection to MySQL server during query”怎么处理?
- 迁移MySql到DLI字段类型转换报错For input string:"false"怎么处理?
- 迁移MySql到DWS,TINYINT类型迁移报错
- 数据迁移前后数据量不一致是什么问题?
- 创建源数据连接,一直报错用户名和密码错误,但是实际填的没有错
- 数据库写入OBS场景,表中小驼峰命名字段,提示字段不存在
- CSV数据类型插入MySQL报错invalid utf-8 charater string ''
- 定时任务失败,检查连接器连接存在问题
- 脏数据导致CSV数据类型问题插入MySQL报错
- 写ES报timeout waiting for connection from pool错误怎么解决?
- Oracle迁移到DWS报错ORA-01555
- FTP测试连通性失败,报服务器内部错误怎么解决?
- CDM连接RDS-Mysql ,除root用户外,其他用户都报错,怎么办?
- MRS Hive,MRS Kafka,MRS Hudi数据源创建连接时IP长度校验不通过,如何处理?
- CDM转换空字符串表达式StringUtils.defaultIfEmpty不生效怎么解决?
- 当Hudi表属性和hoodie.properties文件中分区信息不一致时,会导致数据写入失败怎么解决?
- 当MySQL、Oracle、PostgreSQL作为源端时,如果作业报错“Read timed out”怎么处理?
- RDS-Mysql和开源Mysql对于date类型的范围不一致,可能导致date数据转换异常
- 通过json方式导入的作业,sql server迁移到hive,执行作业报错
- Hudi源端的作业长时间处于BOOTING状态怎么解决?
- Hudi源端作业,读Hudi作业字段映射多了一列col,作业执行失败怎么处理?
- Hudi目的端的作业自动建表报错:schema不匹配,建表失败怎么办?
- Hudi目的端的作业失败,日志报错Read Timeout怎么解决?
- Hudi目的端的作业执行卡Running,读取行数写入行数相等且不再增加怎么解决?
- Hudi目的端的作业执行卡Running,数据写入行数一直显示为0如何处理?
- Hudi目的端的作业执行Spark SQL写入Hudi失败怎么办?
- Hudi目的端的作业执行过程中,由于源端连接闪断、超时或主动终止连接导致作业执行失败怎么处理?
- 文档下载
- 通用参考
链接复制成功!
新建整库迁移作业
操作场景
CDM支持在同构、异构数据源之间进行整库迁移,迁移原理与新建表/文件迁移作业相同,关系型数据库的每张表、Redis的每个键前缀、Elasticsearch的每个类型、MongoDB的每个集合都会作为一个子任务并发执行。
![](https://support.huaweicloud.com/usermanual-cdm/public_sys-resources/note_3.0-zh-cn.png)
整库迁移作业每次运行,会根据整库作业的配置重建子任务,不支持修改子任务后再重新运行主作业。
支持整库迁移的数据源请参见支持的数据源。
约束限制
配置源端和目的端参数时,字段名不可包含&和%。
操作步骤
- 进入CDM主界面,单击左侧导航上的“集群管理”,选择集群后的“作业管理”。
- 选择“整库迁移 > 新建作业”,进入作业参数配置界面。
图1 创建整库迁移作业
- 配置源端作业参数,根据待迁移的数据库类型配置对应参数,如表1所示。
表1 源端作业参数 源端数据库类型
源端参数
参数说明
取值样例
- DWS
- MySQL
- PostgreSQL
- SQL Server
- Oracle
- SAP HANA
模式或表空间
“使用SQL语句”选择“否”时,显示该参数,表示待抽取数据的模式或表空间名称。单击输入框后面的按钮可进入模式选择界面,用户也可以直接输入模式或表空间名称。
如果选择界面没有待选择的模式或表空间,请确认对应连接里的账号是否有元数据查询的权限。
schema
Where子句
该参数适用于整库迁移中的所有子表,配置子表抽取范围的Where子句,不配置时抽取整表。如果待迁移的表中没有Where子句的字段,则迁移失败。
该参数支持配置为时间宏变量,实现抽取指定日期的数据,详细说明请参见关系数据库增量迁移。
age > 18 and age <= 60
分区字段是否允许空值
选择分区字段是否允许空值。
是
Hive
数据库名称
待迁移的数据库名称,源连接中配置的用户需要拥有读取该数据库的权限。
hivedb
HBase
CloudTable
起始时间
起始时间(包含该值)。格式为'yyyy-MM-dd hh:mm:ss', 支持dateformat时间宏变量函数。
例如:"2017-12-31 20:00:00" 或 "${dateformat(yyyy-MM-dd, -1, DAY)} 02:00:00" 或 ${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)}
"2017-12-31 20:00:00"
终止时间
终止时间(不包含该值)。格式为'yyyy-MM-dd hh:mm:ss', 支持dateformat时间宏变量函数。
例如:"2018-01-01 20:00:00" 或 "${dateformat(yyyy-MM-dd, -1, DAY)} 02:00:00" 或 "${dateformat(yyyy-MM-dd HH:mm:ss, -1, DAY)}"
"2018-01-01 20:00:00"
Redis
键过滤字符
填写键过滤字符后,将迁移符合条件的键。
例如:a*, 迁移所有: *
a*
DDS
数据库名称
待迁移的数据库名称,源连接中配置的用户需要拥有读取该数据库的权限。
ddsdb
查询筛选
创建用于匹配文档的筛选器。
例如:{HTTPStatusCode:{$gt:"400",$lt:"500"},HTTPMethod:"GET"}。
-
- 配置目的端作业参数,根据待导入数据的云服务配置对应参数,如表2所示。
表2 目的端作业参数 目的端数据库类型
目的端参数
参数说明
取值样例
- 云数据库MySQL
- 云数据库PostgreSQL
- 云数据库SQL Server
-
整库迁移到RDS关系数据库时,目的端作业参数请参见配置MySQL/SQL Server/PostgreSQL目的端参数。
schema
DWS
-
整库迁移到DWS时,目的端作业参数请参见配置DWS目的端参数。
-
MRS Hive
-
整库迁移到MRS Hive时,目的端作业参数请参见配置Hive目的端参数。
hivedb
MRS HBase
CloudTable
-
整库迁移到MRS HBase或CloudTable时,目的端作业参数请参见配置HBase/CloudTable目的端参数。
是
Redis
清除数据库
在导入数据前清除数据库数据。
是
DDS
数据库名称
待迁移的数据库名称,源连接中配置的用户需要拥有读取该数据库的权限。
mongodb
迁移行为
选择新增或替换。
-
- 如果是关系型数据库整库迁移,则作业参数配置完成后,单击“下一步”会进入表的选择界面,选择的目的库表名须与源端库表名保持一致。如源端表名为test,则目的端表名只能选择test。
图2 字段映射关系
- 单击“下一步”配置任务参数。
图3 任务参数各参数说明如表3所示。
表3 任务配置参数 参数
说明
取值样例
同时执行的表个数
抽取时并发执行的表的数量。
3
抽取并发数
当前任务从源端进行读取最大线程数。
说明:由于数据源限制,实际执行时并发的线程数可能小于等于此处配置的并发数,如CSS,ClickHouse数据源不支持多并发抽取。
1
是否写入脏数据
选择是否记录脏数据,默认不记录脏数据。
是
脏数据写入连接
当“是否写入脏数据”为“是”才显示该参数。
脏数据要写入的连接,目前只支持写入到OBS连接。
obs_link
OBS桶
当“脏数据写入连接”为OBS类型的连接时,才显示该参数。
写入脏数据的OBS桶的名称。
dirtydata
脏数据目录
“是否写入脏数据”选择为“是”时,该参数才显示。
OBS上存储脏数据的目录,只有在配置了脏数据目录的情况下才会记录脏数据。
用户可以进入脏数据目录,查看作业执行过程中处理失败的数据或者被清洗过滤掉的数据,针对该数据可以查看源数据中哪些数据不符合转换、清洗规则。
/user/dirtydir
单个分片的最大错误记录数
当“是否写入脏数据”为“是”才显示该参数。
单个map的错误记录超过设置的最大错误记录数则任务自动结束,已经导入的数据不支持回退。推荐使用临时表作为导入的目标表,待导入成功后再改名或合并到最终数据表。
0
- 单击“保存”,或者“保存并运行”。
作业任务启动后,每个待迁移的表都会生成一个子任务,单击整库迁移的作业名称,可查看子任务列表。
![](https://support.huaweicloud.com/usermanual-cdm/public_sys-resources/note_3.0-zh-cn.png)
Oracle整库迁移作业场景下,如果源端选择视图或无主键表,且目标端为hudi时,不支持自动建表。