CDM避坑指南之脏数据归档

举报
Alan Huo 发表于 2020/06/22 12:09:11 2020/06/22
【摘要】 CDM文件到表迁移时难免受脏数据干扰,导致迁移任务失败。为了规避脏数据干扰,配置任务时在高级属性配置(是否写入脏数据选填是)脏数据归档相关信息。

CDM避坑指南之脏数据归档

问题场景:

利用CDM数据进行文件到表的迁移时,任务失败。经查看失败任务日志显示:The number of error records exceeds the maximum

原因分析:

CDM解析文件类数据使用英文逗号作为默认的字段分隔符,\n作为默认的换行符(用户也可以在作业配置中进行自定义)。当源端某些行数据与目的端数据库表结构很可能是不匹配,就会出现上述报错。不匹配的原因有很多:源端某个字段內部含有换行符导致CDM解析数据提前换行;某一行数据有缺失等等。

解决办法:

CDM主打异构数据迁移,为了解决上述问题开发了脏数据归档功能。脏数据的定义就是源端与目的端不匹配的数据。用户在作业配置第三步点击高级配置,进而配置脏数据归档功能,配置信息如下图所示。这个功能可以将脏数据归档到用户指定的OBS桶中,使得迁移作业不会因为这些数据的出现而中断。

1.  Source Job Configuration,高级属性配置相关信息,具体操作如下。

字段分隔符、换行符配置图:

                  


1)在Source Job Configuration里配置高级属性

2)填写Line Separator(\n作为默认的换行符

3)填写Field Delimiter(英文逗号作为默认的字段分隔符

2. 作业配置第三步高级属性配置,配置脏数据归档,具体操作如下。

配图:

                   


(1)  在高级属性设置里,是否写入脏数据选填是

(2)  配置脏数据写入连接(在连接管理界面配置具体连接信息)

(3)  配置OBS桶(写入脏数据的OBS桶的名称

(4)  配置脏数据目录(OBS上存储脏数据的目录,只有在配置了脏数据目录的情况下才会记录脏数据。用户可以进入脏数据目录,查看作业执行过程中处理失败的数据或者被清洗过滤掉的数据,针对该数据可以查看源数据中哪些数据不符合转换、清洗规则。)

(5)  设置单个分片的最大错误记录数(单个map的错误记录超过设置的最大错误记录数则任务自动结束,已经导入的数据不支持回退。推荐使用临时表作为导入的目标表,待导入成功后再改名或合并到最终数据表。)

总结

CDM文件到表迁移时难免受脏数据干扰,导致迁移任务失败。为了规避脏数据干扰,配置任务时在高级属性配置(是否写入脏数据选填是)脏数据归档相关信息。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。