开发者社区> 问答> 正文

DataWorks同步产生脏数据

已解决

DataWorks同步产生脏数据

展开
收起
提个问题 2024-05-29 10:07:58 17 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    以下为您介绍脏数据定义、常见产生原因与影响,及相关具体场景示例。
    • 脏数据认定标准
    脏数据是对业务没有意义,格式非法或者同步过程中出现问题的数据。单条数据写入目标数据源过程中发生了异常,则此条数据为脏数据。 因此只要是写入失败的数据均被归类于脏数据。
    • 脏数据产生常见原因
      说明:每个数据库存在自己的特性,以下仅从常见场景进行说明。
      • 字段类型不匹配导致写入报错脏数据。 例如:源端是VARCHAR类型的数据写到INT类型的目标列中导致脏数据报错。
      • 脚本模式两端字段个数不一致导致脏数据产品,例如:源端column配置了3个字段,目标端配置4个字段。
      • 脚本模式column配置格式不对,例如时间格式配置不符合预期,导致写入目标端失败。
    • 脏数据产生影响
      • 脏数据不会同步至目标端
        脏数据产生后,不会同步至目标端, 您可以在同步任务配置时, 通过错误记录数控制(脏数据控制) 控制同步过程中是否允许脏数据产生,并且支持控制脏数据条数,即当脏数据超过指定条数时,任务失败退出。
      • 大量脏数据产生将影响同步速度
    • 常见问题
      • DataWorks数据集成Elasticsearch 时间格式导致的脏数据:
        问题描述:ERROR StdoutPluginCollector - 脏数据: {"exception":"Invalid format: \"2022-06-17 13:23:54\" is malformed at \" 13:23:54\"","record":
        报错原因: 未告知同步应如何解析该时间格式的数据。待同步字段存在date类型,且该字段mapping没有format配置时,需要配置dateFormat参数。配置形式如下: "dateFormat" : "yyyy-MM-dd||yyyy-MM-dd HH:mm:ss",该配置需要包含同步date类型字段的所有格式。关于es该参数配置,详情请参见:Elasticsearch Reader
      • MaxCompute数据同步至Redis由于字段个数不匹配导致脏数据
         问题现象:source column number is in valid
        报错原因:源头多配置了column。当value类型为hash时,数据源的每行记录都需遵循相应的规范。即每行记录除key外,只能有1对attribute和value,并且attribute必须在value前面,Redis Writer方可解析出column对应的是attribute或value。 按照用户意图,应该是column只保留3列,移除不需要的列。详情请参见:Redis Writer


    2024-05-29 10:07:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
DataWorks调度任务迁移最佳实践-2020飞天大数据平台实战应用第一季 立即下载
DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载

相关实验场景

更多