
# 通过CDM从OBS迁移数据到DLI，同样的作业在新版本集群迁移失败？
#### 问题描述
客户通过CDM从OBS迁移到DLI ，使用两个集群分别迁移，源端和目标端以及作业配置都一样，2.6.0版本的CDM集群作业可以迁移成功，2.8.6版本的集群迁移失败。报错作业日志如下图所示。
![](https://support.huaweicloud.com/cdm_faq/zh-cn_image_0000001495825701.png "点击放大")
#### 原因分析
1. 初步怀疑是源端和目标端在字段类型转换出现异常。 ![](https://support.huaweicloud.com/cdm_faq/zh-cn_image_0000001446209186.png "点击放大")
   

2. 将目标端表字段类型biginit改为 string，重新跑作业还是失败，报错内容跟之前一样。
3. 配置开启脏数据，重跑作业后作业依旧失败，但是有3条数据已迁移到目标表。
4. 通过对比迁移失败的数据记录和成功的距离，怀疑是类型为boolean的字段导致的。
 
#### 解决方案
将目标端boolean类型字段修改成string 后作业运行成功，因为客户源端boolean类型的字段有空值，从而导致迁移失败。
2.8.6版本CDM集群校验更严格，在处理boolean类型数据的逻辑是：目标端的数据类型是boolean类型，会在插入的时候会去检查，不是true/false就会报错。
