DataWorks百问百答05:数据同步任务出现脏数据怎么办?-阿里云开发者社区

开发者社区> 数据库> 正文

DataWorks百问百答05:数据同步任务出现脏数据怎么办?

简介:

什么样的数据会判定为脏数据?

同步任务在任务运行过程中遇到插件的所有异常都会作为脏数据进行统计。

  • 数据类型转换(源端表和目的表字段类型不匹配,大概率)
  • 源端表数据过长
  • 数据源异常
  • Reader/Writer插件异常
  • 数据中有表情符

我该如何排查?

同步任务出现报错:脏数据条数检查不通过,限制是[0]条,但实际上捕获了[141]条。
image.png

【解决方法一】

增大脏数据限制条数,扩大阈值容忍脏数据(源端脏数据仍存在同步到目的端,日志显示脏数据记录,任务不会报错)。
image.png

【解决方法二】

根据运行日志定位源端脏数据修复后再同步。
image.png
将日志复制出来可快速定位,截取1条记录作为样例分析。本例情况就是源端第47个字段值"java"为String类型,而目的端对应写入字段为Long类型,需更改为匹配的类型。
image.png

【案例1】
只有utf8mb4编码支持同步表情符
例如:添加JDBC格式的数据源时,需要修改utf8mb4的设置,如jdbc:mysql://xxx.x.x.x:3306/database?com.mysql.jdbc.faultInjection.serverCharsetIndex=45。

【案例2】
同步任务脏数据报错 XXXX command denied to user ‘XXXX’
因为没有数据源权限造成的问题,联系对应DBA申请一下update、insert、delete权限。
其余Reader/Writer插件问题情况略。


DataWorks百问百答历史记录请点击查看

采购季限时!原价2500元现仅需99元,3分钟入门DataWorks标准版6大场景!点击查看

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章