历史版本2 :不同写入方式效果说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

数据同步-写入方式 文档中,介绍了三种写入方式:直接将数据写入目标表清空目标表,再写入数据基于标识字段,新增/修改/删除数据

本文为您展示这三种写入方式的实际效果。

注:本文只是介绍三种写入方式的效果,实际数据更新场景中,应该选择的具体方案请参见:数据同步方案概述

2. 直接将数据写入目标表编辑

2.1 目标表无物理主键且未配置逻辑主键映射

目标表无物理主键未配置逻辑主键映射时,写入方式选择「直接将数据写入目标表」;该场景中,待写入数据不会影响目标表原有数据,只是将数据新增到目标表中。

2.1.1 场景模拟

待写入数据中,订单ID 为 10282 的数据与目标表订单ID 为 10282 的数据相同。

1)待写入数据如下图所示:

23.png

2)目标表数据如下图所示:

22.png

现希望将待写入数据增加到目标表中。

2.1.2 示例

1)新建定时任务,拖入数据同步节点,读取待写入数据。如下图所示:

24.png

2)数据去向与映射中,选择目标表。如下图所示:

25.png

3)写入方式选择直接将数据写入目标表(不设置主键映射)。如下图所示:

1724226540980102.png

4)任务运行后,目标表数据如下图所示:

可看到待写入数据(红框内的数据)直接新增到目标表中;待写入数据中与目标表相同的数据(黄色标记的数据),也直接新增到目标表中。

27.png

2.2 目标表有物理主键或已配置逻辑主键映射

目标表有物理主键或已配置逻辑主键映射,将基于主键比对数据行的差异:

1)主键不同的数据行:将数据新增到目标表中。

2)主键相同的数据行,提供三种写入策略:

  • 主键相同,覆盖目标表的数据(更新旧数据

  • 主键相同,忽略输入源的数据(忽略与目标表主键相同的新数据

  • 主键相同,记录为脏数据(将与目标表主键相同的新数据记为脏数据)

本节内容,适用于目标表数据需要更新的场景;可实现目标表数据的新增、更新。

2.2.1 场景模拟

1)待写入数据如下图所示:

28.png

2)目标表数据如下图所示:

31.png

2.2.2 示例

1)以「数据同步」节点为例,展示该场景的效果;数据来源数据去向与映射Tab中,具体设置与 2.1.2 节相同,本节不再详细说明。

2)写入方式选择直接将数据写入目标表,主键映射处设置主键为订单ID,主键冲突策略选择主键相同,覆盖目标表的数据」。如下图所示:

1724228286979702.png

任务运行后,目标表数据如下图所示:

32.png

3)写入方式选择直接将数据写入目标表,主键映射处设置主键为订单ID,主键冲突策略选择主键相同,忽略输入源的数据」。如下图所示:

1724228631255711.png

任务运行后,目标表数据如下图所示:

34.png

4)写入方式选择直接将数据写入目标表,主键映射处设置主键为订单ID,主键冲突策略选择主键相同,记录为脏数据」。如下图所示:

1724228830224911.png

任务运行后,目标表数据如下图所示:

34.png

运行日志提示存在脏数据。如下图所示:

实际使用时,可设置「脏数据阈值」,使任务具备一定容错性。当任务运行时遇到脏数据,达到「脏数据阈值」前将继续执行定时任务,达到「脏数据阈值」后再报错。详情请参见:脏数据容忍

实际使用时,若希望看到详细的日志展示,可将日志级别设置为INFO,详情请参见:日志等级设置

1724229007937530.png

3. 清空目标表,再写入数据编辑

写入数据前,先清空目标表,再将数据写入。

3.1 场景模拟

1)待写入数据如下图所示:

37.png

2)目标表数据如下图所示:

38.png

3.2 示例

1)以「数据同步」节点为例,展示该场景的效果;数据来源数据去向与映射Tab中,具体设置与 2.1.2 节相同,本节不再详细说明。

2)写入方式选择清空目标表,再写入数据。如下图所示:

1724229549901042.png

3)任务运行后,目标表数据如下图所示:

40.png

4. 基于标识字段,新增/修改/删除数据编辑

该写入方式可实现数据的新增、修改、删除

1)4.0.28 及之后版本,若用户为以下场景时(来源表和目标表都不是简道云数据):

  • 没有标识字段,希望将筛选出的数据,做追加或者更新或者删除操作(无标识字段时仅允许选择一种操作类型)。

  • 数据已经有了标识字段和标识值,需要对数据进行追加/更新/删除操作。

可通过「数据同步」节点实现,详情请参见:数据同步-基于标识字段,追加/更新/删除数据

2)该写入方式通常与 数据比对 算子配合使用,具体示例及效果请参见:数据比对典型示例