1. 概述
1.1 版本
设置项 | 功能变动 |
---|---|
数据去向与映射 | 数据同步-数据去向与映射 文档的 1.1 节内容 |
写入方式 | 数据同步-写入方式 文档的 1.1 节内容 |
1.2 功能简介
数据在「数据转换」节点中进行一系列复杂处理后,可使用「DB表输出」算子输出到目标数据库中。如下图所示:
2. 功能说明
应用场景 | 说明 |
---|---|
「数据转换」节点中对数据进行处理后,需输出到数据库表中 | 使用「DB表输出」算子即可 |
需要对两张表的数据进行对比,若来源表存在增删改,目标表也同步更新 | 1)「数据比对 +DB表输出」组合使用;示例:数据比对典型示例 2)删除数据可选择逻辑删除和物理删除两种方式:
两种删除方式的具体效果可参见:物理删除和逻辑删除的区别 |
3. 示例一:逻辑删除
3.1 场景模拟
示例数据下载:tests.xls 、test_mubiao.xls
来源表 tests 数据如下图所示:
目标表数据如下图所示:
来源表中删除了 orderid 为10345、10348 的数据,希望目标表中这两条数据也删除。
注:因为是逻辑删除,目标表中需要准备一列作为标记列,本文目标表中作为标记列的列名为:fdl_comparison_type
重要说明:
1)如果希望逻辑删除目标表数据,目标表中需要新增一个字段作为标记列,或者指定一个已经存在的列作为标记列;来源表字段 fdl_comparison_type 映射到目标表中的标记列字段。如下图所示:
2)标识列的值可按照需要自定义,只需要保证「数据比对」中的标识值和「DB表输出」中的标识值一致即可。如下图所示:
3.2 设置输入算子
本文示例用的是「DB 表输入」算子,拖入两个算子,并分别重命名为来源表和目标表,先对来源表进行设置。如下图所示:
后对目标表进行设置,如下图所示:
3.3 设置数据比对算子
1)添加一个「数据比对」算子,并与两个输入算子相连。
2)「逻辑主键」用于在两张表中识别同一条数据,即通过「逻辑主键」将来源表和目标表的数据对应起来,本文示例「逻辑主键」选择 orderid 。由于本示例只需标记删除数据,所以「比对字段」可以不设置。如下图所示:
注1:若某个字段没有被选择到「比对字段」中,能识别出该字段的增加和删除,但这个字段若存在更新,将不能被识别。
注2:「数据比对」使用详情请参见:数据比对
点击「比对结果」,可看到被删除的数据已被标记。如下图所示:
3.4 设置 DB 表输出算子
1)添加一个「DB 表输出」算子,并用连线将他与「数据比对」算子相连。
2)数据输出到目标表中:
写入方式选择「基于标识字段,追加/更新/删除数据」,只勾选「删除」按钮,写入方式选择「逻辑删除」
标识字段选择 fdl_comparison_type ,fdl_comparison_type 是默认生成的标记列。
标识值为 Removed ,「标识值」需要与「数据比对」算子中的「标识关系」值一一对应。
逻辑主键设置为 orderid ,与「数据比对」算子的逻辑主键相同即可。
如下图所示:
「只对标识值为null的数据进行逻辑删除」说明:
按钮是否勾选 | 场景 | 结果 |
---|---|---|
勾选:只对标识值为null的删除数据进行标记 | 来源表: 目标表: 目标表中需要逻辑删除a=1的数据;待删除的数据标记列值非空(图中值为12);删除数据的标识值设置为Removed | 任务运行后,目标表如下图所示: 若标记列的值不是12,为空,任务运行后,值才会更新为Removed |
不勾选:对所有待删除数据进行标记 | 任务运行后,目标表如下图所示: 标识值更新为Removed |
3.5 运行任务
点击右上角「运行」,日志出现执行成功信息表示任务成功运行。如下图所示:
可看到目标表中删除数据已被标记。如下图所示: