开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

DataWorks离线同步脏数据如何排查和定位?

DataWorks离线同步脏数据如何排查和定位?

展开
收起
真的很搞笑 2023-09-10 08:26:31 47 0
1 条回答
写回答
取消 提交回答
  • 报错现象:报错现象:{"message":"写入 ODPS 目的表时遇到了脏数据: 第[3]个字段的数据出现错误,请检查该数据并作出修改 或者您可以增大阀值,忽略这条记录.","record":[{"byteSize":0,"index":0,"type":"DATE"},{"byteSize":0,"index":1,"type":"DATE"},{"byteSize":1,"index":2,"rawData":0,"type":"LONG"},{"byteSize":0,"index":3,"type":"STRING"},{"byteSize":1,"index":4,"rawData":0,"type":"LONG"},{"byteSize":0,"index":5,"type":"STRING"},{"byteSize":0,"index":6,"type":"STRING"}。如何处理:该日志中可以看出脏数据的字段,第三个字段异常。脏数据是writer端报的,要检查下writer端的建表语句。odps支持的数据类型与mysql大不相同,虽然可以用varchar等类型,但是通过datax实际写入是不能识别,即mysql varchar类型不能写入odps varchar类型,需要使用string类型。数据同步原则:来源端数据源的数据要能写入目的端数据源(来源端和目的端类型需要匹配,字段定义的大小需要匹配),即源端是long、varchar 、double等类型的数据,目的端均可用string、text等大范围类型接纳。脏数据报错不清晰时,需要复制出打印出的脏数据的一整条,观察其中的数据,和目的端数据类型比较,看哪一条或哪一些不合规范。比如: {"byteSize":28,"index":25,"rawData":"ohOM71vdGKqXOqtmtriUs5QqJsf4","type":"STRING"} byteSize:字节数;index:25,第26个字段;rawData:具体值(即value);type:数据类型。
    https://help.aliyun.com/document_detail/146663.html,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-09-10 19:43:00
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关产品

  • 大数据开发治理平台 DataWorks
  • 热门讨论

    热门文章

    相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载

    相关实验场景

    更多