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
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的删除数据进行标记,否则,对所有待删除数据进行标记。
3)点击右上角「保存」按钮。
3.5 运行任务
点击右上角「运行」,日志出现执行成功信息表示任务成功运行。如下图所示:
可看到目标表中删除数据已被标记。如下图所示:
4. 示例二:物理删除
请参见:数据比对