问题描述:脏数据(String[“”]不能转为Long)。 2017-09-21 16:25:46.125 [51659198-0-26-writer] ERROR WriterRunner - Writer Runner Received Exceptions:
com.alibaba.datax.common.exception.DataXException: Code:[Common-01] 错误解读:同步数据出现业务脏数据情况,数据类型转换错误。String[“”]不能转为Long。
排查思路:String[“”]不能转为LONG。
两张表格中的建表语句一致,报上述错误是因为字段类型中的空字段不能转换成LONG类型,直接配置为STRING类型。
问题描述:脏数据(Out of range value)。 2017-11-07 13:58:33.897 [503-0-0-writer] ERROR StdoutPluginCollector 脏数据: {“exception”:“Data truncation: Out of range value for column ‘id’ at row 1”,“record”:[{“byteSize”:2,“index”:0,“rawData”:-3,“type”:“LONG”},{“byteSize”:2,“index”:1,“rawData”:-2,“type”:“LONG”},{“byteSize”:2,“index”:2,“rawData”:“其他”,“type”:“STRING”},{“byteSize”:2,“index”:3,“rawData”:“其他”,“type”:“STRING”}],“type”:“writer”} 排查思路:mysql2mysql,源端设置的是smallint(5),目标端是int(11) unsigned,因为smallint(5)范围有负数,unsigned不允许有负数,所以产生脏数据。
问题描述:脏数据(存储emoji)。 数据表配置成了可以存储emoji的,同步时报脏数据。
排查思路:同步emoji时报错脏数据,需要修改编码格式: JDBC形式添加数据源 jdbc:mysql://xxx.x.x.x:3306/database?characterEncoding=utf8&com.mysql.jdbc.faultInjection.serverCharsetIndex=45 实例ID形式添加数据源 在数据库名后拼接?characterEncoding=utf8&com.mysql.jdbc.faultInjection.serverCharsetIndex=45。
问题描述:空字段导致的脏数据。 {“exception”:“Column ‘xxx_id’ cannot be null”,“record”:[{“byteSize”:0,“index”:0,“type”:“LONG”},{“byteSize”:8,“index”:1,“rawData”:-1,“type”:“LONG”},{“byteSize”:8,“index”:2,“rawData”:641,“type”:“LONG”} 经DataX智能分析,该任务最可能的错误原因如下所示。 com.alibaba.datax.common.exception.DataXException: Code:[Framework-14] 错误解读:DataX传输脏数据超过用户预期,该错误通常是由于源端数据存在较多业务脏数据导致。请仔细检查DataX汇报的脏数据日志信息,或者您可以适当调大脏数据阈值。
脏数据条数检查不通过,限制是1条,但实际上捕获了7条。
排查思路:设置Column ‘xxx_id’ cannot be null字段不能为空,但数据中用空数据导致脏数据,修改其数据或对字段进行修改。
问题描述:设置的字段大小不符合实际数据大小导致的脏数据。 2017-01-02 17:01:19.308 [16963484-0-0-writer] ERROR StdoutPluginCollector 脏数据:
{“exception”:“Data truncation: Data too long for column ‘flash’ at row 1”,“record”:[{“byteSize”:8,“index”:0,“rawData”:1,“type”:“LONG”},{“byteSize”:8,“index”:3,“rawData”:2,“type”:“LONG”},{“byteSize”:8,“index”:4,“rawData”:1,“type”:“LONG”},{“byteSize”:8,“index”:5,“rawData”:1,“type”:“LONG”},{“byteSize”:8,“index”:6,“rawData”:1,“type”:“LONG”} 排查思路:设置Data too long for column ‘flash’字段设置太小,但数据中数据太大导致脏数据,修改其数据或对字段进行修改。
问题描述:read-only数据库权限设置问题,设置只读权限。 2016-11-02 17:27:38.288 [12354052-0-8-writer] ERROR StdoutPluginCollector 脏数据:
{“exception”:“The MySQL server is running with the --read-only option so it cannot execute this statement”,“record”:[{“byteSize”:3,“index”:0,“rawData”:201,“type”:“LONG”},{“byteSize”:8,“index”:1,“rawData”:1474603200000,“type”:“DATE”},{“byteSize”:8,“index”:2,“rawData”:“9月23号12点”,“type”:“STRING”},{“byteSize”:5,“index”:3,“rawData”:“12:00”,“type”:“STRING”} 排查思路:设置read-only模式,同步数据全为脏数据,修改其数据库模式,运行可以写入。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。