1. 概述
1.1 预期效果
希望将一个数据库中的数据定时抽取到指定数据库中。
通过本文示例,您能学到:
熟悉 FineDataLink 数据开发界面。
简单熟悉「开发模式」与「生产模式」。
简单了解「数据同步」节点的使用。
了解如何设置任务的执行频率。
1.2 示例展示
任务示例详情参见官网demo:https://demo.finedatalink.com/ 「第一个定时开发任务」
2. 准备工作
若用户若只是想试用下功能,无需参考本章内容,直接到到 https://demo.finedatalink.com/ 中,参考本文第三章内容设计定时任务。
1)已完成 FineDataLink 工程部署:FineDataLink独立部署、FineDataLink集成部署
2)确认工程已经注册了相关功能:FineDataLink注册授权
3)创建能够进行数据开发的用户:用户管理;对用户进行了数据开发权限分配:数据平台使用权限、定时任务管理权限
4)用户登录 FineDataLink 系统后,需要确认已部署好的工程中是否有自己需要的来源和目标数据库。若没有,则需要新建数据连接,建立数据库与 FineDataLink 之间的联系。步骤请参见:[通用]配置数据连接
注:数据源支持类型详情参见:FineDataLink支持的数据源
本文示例中,使用来源数据库为默认的 FRDemo 、目标数据库使用 MySQL 数据库。如下图所示:
或者让管理员为用户分配数据连接使用权限:数据连接权限概述
3. 操作步骤
用户希望将 SQLite 数据库 FRDemo 中的「S产品」数据表同步至 MySQL 数据库 demotest 中,并且命名同步后的数据表为「Product」,同时该同步任务每天执行一次以保持数据时效性。
3.1 新建定时任务
1)用户进入 FineDataLink 工程,点击「数据开发」,在有权限的文件夹下新建定时任务。如下图所示:
2)将定时任务重命名为「第一个定时开发任务」,默认在「开发模式」下,进行任务设计编辑。如下图所示:
注:开发模式与生产模式详情参见:开发模式与生产模式
3.2 设置数据同步节点
3.2.1 设置数据来源
1)拖入「数据同步」节点。如下图所示:
2)先设置数据从哪里抽取,即确定来源数据库。
在「数据来源」Tab 页中,数据源类型选择「SQLite」,数据连接选择「FRDemo」。使用 SQL 语句取出数据:
注:在「FineDataLink」中使用到的所有数据连接不要随意改名,改名会导致「FineDataLink」中选择的数据连接和数据表丢失。
select * from S产品
点击「数据预览」即可查看取数效果。如下图所示:
3.2.2 设置数据去向与映射
1)再设置数据抽取后保存到哪里去。
在「数据去向与映射」Tab 页中,数据源类型选择「MySQL」,数据连接选择第二章中准备的目标数据库「demotest」,数据库也选择「demotest」。
还需要设置数据保存到哪张表里去,此处直接新建一个表来保存这些数据,目标表选择「自动建表」,表名称填写「Product」。如下图所示:
2)字段映射是建立「来源端-目标端」的字段对应关系,此处默认即可。字段映射介绍请参见:字段映射
3.2.3 设置写入方式
「写入方式」Tab 页中,由于我们是新建表,写入方式选择「直接将数据写入目标表」;逻辑主键无需设置,逻辑主键为空时直接追加数据。如下图所示:
注:「写入方式」更多介绍请参见:写入方式
3.2.4 重命名节点名称
为了方便以后的节点管理,可以重命名该节点为「数据同步-S产品」。如下图所示:
3.3 效果查看
1)点击右上角「保存」并「发布」,即可将内容发布至「生产模式」,然后在生产模式中即可看到发布的任务。如下图所示:
2)在「生产模式」下点击右上角「运行」,底部日志会显示节点运行情况。如下图所示:
注:任务运维界面介绍请参见:任务运维;若想定期运行任务,可使用 调度配置 功能。
3)MySQL 数据库中生成了「Product」数据表。如下图所示:
3.4 设置任务执行频率
为了保证数据的实时性,我们可以设置任务每天执行一次,实现数据的定时更新。如下图所示:
此时,需要返回「开发模式」进行任务编辑,将「数据同步」节点的写入方式改为「清空目标表,再写入数据」,否则如果仍然选择「直接将数据写入目标表」会将来源数据表数据全量写入目标数据表。如下图所示:
更多数据更新方式详情参见:数据更新专题概述
之后我们会发现,发布这里提示需要更新,这是因为「开发模式」与「生产模式」,实现了代码的隔离,所以要再次发布实现更新同步。如下图所示: