1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
3.1 | - |
3.7 | 「DB表输出」算子的「数据去向」Tab 中若选择「自动建表」,「字段映射」Tab 下可删除表字段、修改表字段展示顺序、修改表字段长度、修改字段类型 |
4.0.1 | 「DB表输出」算子的「数据去向」Tab 中若选择「自动建表」,「字段映射」Tab 下修改表字段展示顺序的方式,从点击调整字段顺序调整为拖拽调整字段顺序 |
4.0.18 | 新增写入方式「插入/更新/删除数据」,与「数据比对」算子配合使用,可完成增量插入、删除、更新的操作 |
4.0.21 |
|
4.0.28 |
|
4.0.29 | 主键冲突策略中主键相同,停止写入并报错修改为主键相同,记录为脏数据 |
4.1.5.4 | 1)「DB表输入」算子中,配置方式选择「选表」时,显示表备注。详情请参见:数据同步-数据来源 2)「DB表输出」算子中:
详情请参见:数据同步-数据去向与映射 |
1.2 功能简介
数据经过一系列处理后,可通过「DB表输出」算子输出到目标数据库中。
「DB表输出」算子与「数据比对」算子配合使用,可完成增量插入、删除、更新的操作。
目标数据表若为新建,支持设置主键。
可将数据输出到指定模式的某张表中,或者在指定模式中新建表存放处理后的数据。
2. 功能说明
1)「DB表输出」的数据去向与映射、写入方式 Tab 页,功能与「数据同步」的相同。详细说明请参见文档:数据同步功能说明
2)「数据比对+DB表输出」实现数据的增删改时,删除数据可选择逻辑删除和物理删除两种方式:
逻辑删除:不实际删除数据,标记删除数据。
物理删除:实际删除数据。
两种删除方式的具体效果可参见:物理删除和逻辑删除的区别
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 运行任务
点击右上角「运行」,日志出现执行成功信息表示任务成功运行。如下图所示:
可看到目标表中删除数据已被标记。如下图所示:
4. 示例二:物理删除
请参见:数据比对