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

DataWorks选择这种方式同步,并发数为1,没什么每执行一次,中间主键都是空的没有数据?

已解决

DataWorks选择这种方式同步,并发数为1,没什么每执行一次,主键值翻倍增长,中间主键都是空的没有数据?image.png
目标数据库是mysql,主键自增长

展开
收起
cuicuicuic 2023-11-19 04:53:00 50 0
2 条回答
写回答
取消 提交回答
  • 采纳回答

    从你提供的图片来看,你可能是在使用 DataWorks 的数据同步功能,将 MaxCompute 中的数据同步到 MySQL 中。在这个过程中,你可能遇到了一些问题。

    首先,关于主键值翻倍增长的问题,这可能是因为你在 MaxCompute 中的数据中没有定义主键,或者定义的主键不是唯一的。在这种情况下,DataWorks 会自动为每条记录生成一个唯一标识符,这个标识符在每次同步时会自动递增。

    其次,关于中间主键都是空的问题,这可能是因为你在同步过程中选择了忽略主键。在 DataWorks 的数据同步设置中,有一个选项叫做 "Ignore primary key",如果你勾选了这个选项,那么在同步过程中,DataWorks 会忽略源表的主键,只同步其他字段。

    2023-11-29 16:53:23
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果您在 DataWorks 中选择了“主键为空时不更新”的同步模式,并且并发度设为 1,则在每次执行时中间表中的主键都可能是空的。这是因为在这种情况下,只有当有新的行或修改了现有行时才会将数据写入到中间表中。
    在这种情况下,您可以在同步任务的“高级选项”页面上取消选中“主键为空时不更新”选项,以便在每次执行时都将所有数据写入中间表。然后,在执行 SQL 查询时可以使用“LEFT JOIN”或“RIGHT JOIN”等方法将中间表与目标表进行关联,以获取完整的结果集。
    如果您想避免重复的数据,请确保在每个阶段的任务中都添加合适的过滤条件,以仅处理新数据或已更改的数据。此外,也可以考虑在任务设置中启用“分片同步”,以实现更好的性能和效率。

    2023-11-19 14:58:23
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

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

    相关实验场景

    更多