历史版本23 :第一个定时开发任务 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

[helpvideo]3271[/helpvideo]

1.1 应用场景

本文将设计一个在 FineDataLink 中运行的数据开发任务,将一个数据库中的数据同步至指定数据库中,创建一个周期调度任务,帮助您快速了解数据开发模块的基本使用

1.2 前提条件

已完成 FineDataLink 工程部署:FineDataLink独立部署FineDataLink集成部署

确认工程已经注册了相关功能:FineDataLink注册授权

创建能够进行数据开发的用户:用户管理

对用户进行了数据开发权限分配:数据平台使用权限定时任务管理权限

1.3 示例展示

任务示例详情参见官网demo:https://demo.finedatalink.com/ 中「01功能示例>00第一个定时任务开发」

2. 操作步骤编辑

用户希望将 FRDemo 数据库中的「S产品」数据表同步至 MySQL 数据库中,并且命名同步后的数据表为「product」,同时该同步任务每天执行一次以保持数据时效性。

2.1 数据库准备

1)用户登录 FineDataLink 系统后,需要确认已部署好的工程中是否有自己需要的来源和目标数据库。若没有,则需要新建数据连接,建立数据库与 FineDataLink 之间的联系。步骤请参见:[通用]配置数据连接

注:数据源支持类型详情参见:FineDataLink支持的数据源 

本文示例中,使用来源数据库为默认的 FRDemo 、目标数据库使用 mysql 数据库。如下图所示:

2.2 创建任务

用户登录 FineDataLink ,点击「数据开发」,在有权限的文件夹下新建定时任务,任务重命名为「第一个定时开发任务」。如下图所示:

2.3 数据跨库同步

也就是将 SQLite 数据库下「S产品」数据全部抽取到 MySQL 数据库下,MySQL 数据库中新增一张表来保存这些数据。

1)数据跨库迁移通过「数据同步」节点实现。从节点列表处将一个「数据同步」节点拖到设计界面,点击该节点后下方会显示该节点的设置项。

2022-10-27_15-53-22.gif

2)先设置数据从哪里抽取,即确定来源数据库,设置项选择「数据来源」,数据源类型选择「SQLite」,数据连接选择「FRDemo」。使用 SQL 语句取出数据:

select * from S产品

注:在「FineDataLink」中使用到的所有数据连接不要随意改名,改名会导致「FineDataLink」中选择的数据连接和数据表丢失。

点击「数据预览」即可查看取数效果。如下图所示:

2022-10-27_16-06-20.gif

3)再设置数据抽取后保存到哪里去,设置项选择「数据去向」,数据源类型选择「MySQL」,数据连接选择3.1 节中创建的目标数据库「test_2」。

还需要设置数据保存到哪张表里去,此处直接新建一个表来保存这些数据,目标表选择「自动建表」,表名称填写「product」,由于是新建表,因此我们直接设置写入数据的方式为「追加写入数据」,如下图所示:

4)字段映射是调整源表跟目标表字段关系的,此处采用默认设置即可,至此数据同步节点已经设置好。

为了方便以后的节点管理,可以重命名该节点为「数据同步-S产品」,如下图所示:

2.4 运行任务

点击右上角「保存并运行」,底部日志会显示节点运行情况。如下图所示:

注:任务运维界面介绍请参见:任务运维;用户若想定期运行任务,可使用 调度配置 功能

2.5 效果查看

MySQL 数据库中生成了「product」数据表,如下图所示:

2.6 设计调度任务

为了保证数据的实时性,我们可以设置「定时任务调度配置」,实现数据的定时更新。

此时,需要将「数据同步」节点的数据去向写入方式改为「清空目标表,在写入数据」,否则如果仍然选择「直接写入数据」会将来源数据表数据全量写入目标数据表,如下图所示:

更多数据更新方式详情参见:数据更新专题概述