1. 概述编辑
1.1 应用场景
简道云输出算子 不能选择「清空目标表,再写入数据」写入方式。
用户在以下场景时,希望能先清空简道云表单再写入数据:
简道云表单数据发生全面更新,不仅仅是部分更新或增量更新时。
简道云表单更新数据较多(比如 52 万行),写入方式中勾选「修改」,更新速度会非常慢;此时,可先将目标表单所有数据清空,将来源端数据全部「新增」到目标表单中。
需要将数据迁移到某张简道云表单。
为了避免数据重复或冲突,出于安全考虑,希望先清空目标表再写入数据。
1.2 实现思路
1)待清空数据的简道云表单新增标记列,值为 flag ;使用「简道云输出」算子,将标记为 flag 的数据删除。
2)将目标数据同步到清空后的简道云表单。
FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「简道云输出算子:清空目标表再写入数据」。
2. 操作步骤编辑
本文示例:将本地「库存信息」的数据迁移到「文档测试」表单中,但「文档测试」表单存在旧数据,所以同步数据前,需要先清空「文档测试」表单数据。
2.1 建立数据连接
需要 新建简道云数据连接,以便通过「简道云输出」算子将数据输出到简道云表单。
2.2 简道云表单字段处理
在简道云表单接入前,建议提前设置字段别名:
使用 FDL 读取简道云数据时,读取的简道云字段为字段原始名,不便于在 FDL 中进行业务处理。
「简道云输出」算子中,字段映射时,目标表字段名称会使用字段原始名,不便于设置字段映射。
进入简道云应用,进入需要使用表单的编辑界面,选择「扩展功能>数据推送>设置字段别名」。如下图所示:
2.3 清空简道云表单数据
本节目的:使用「新增计算列」算子,新增标记列,对简道云表单中所有数据进行标记,再使用「简道云输出」算子删除被标记的数据。
1)新建定时任务,设置好位置和名称后,拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「简道云输入」算子,读取「文档测试」表单数据。如下图所示:
点击「数据预览」,可查看简道云表单数据。如下图所示:
3)拖入「新增计算列」算子,新增一列 sign ,值为 flag,标记简道云表单数据。如下图所示:
点击「数据预览」,如下图所示:
4)拖入「简道云输出」算子,删除标记为 flag 的数据。
选择「文档测试」表单,字段映射中,取消 sign 字段和一些无用字段的映射。如下图所示:
写入方式选择「插入/更新/删除数据」-删除,标识字段选择 sign,标识值为 flag,逻辑主键为_id。如下图所示:
5)点击左上角「返回」按钮。
2.4 写入数据
本节目的:将本地数据上传到清空数据的表单中。
1)再拖入一个「数据转换」节点,进入「数据转换」节点。
2)拖入「DB表输入」算子,读取本地数据。如下图所示:
3)拖入「简道云输出」算子,将数据输出到简道云表单「文档测试」中,设置字段映射。如下图所示:
4)写入方式选择「追加写入数据」。
5)点击左上角「返回」按钮。
2.5 效果查看
点击「运行」按钮即可。
1)本文为方便展示效果,先运行第一个「数据转换」节点,清空表单数据。如下图所示:
简道云表单数据如下图所示,可看到数据已被清空。
2)以相同方式运行第二个「数据转换」节点,可将数据写入到简道云表单。如下图所示:
2.6 发布任务
可点击「发布」按钮,将做好的定时任务发布到生产模式。如下图所示: