1. 概述编辑
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)数据跨库迁移通过「数据同步」节点实现。从节点列表处将一个「数据同步」节点拖到设计界面,点击该节点后下方会显示该节点的设置项。
2)先设置数据从哪里抽取,即确定来源数据库,设置项选择「数据来源」,数据源类型选择「SQLite」,数据连接选择「FRDemo」。使用 SQL 语句将销量表中所有华东地区的数据取出来:
select * from S产品
注:在「FineDataLink」中使用到的所有数据连接不要随意改名,改名会导致「FineDataLink」中选择的数据连接和数据表丢失。
点击「数据预览」即可查看取数效果。如下图所示:
3)再设置数据抽取后保存到哪里去,设置项选择「数据去向」,数据源类型选择「MySQL」,数据连接选择3.1 节中创建的目标数据库「test_2」。
还需要设置数据保存到哪张表里去,此处直接新建一个表来保存这些数据,目标表选择「自动建表」,表名称填写「product」,由于是新建表,因此我们直接设置写入数据的方式为「直接将数据写入目标表」,如下图所示:
4)字段映射是调整源表跟目标表字段关系的,此处采用默认设置即可,至此数据同步节点已经设置好。
为了方便以后的节点管理,可以重命名该节点为「数据同步-S产品」,如下图所示:
2.4 运行任务
点击右上角「保存并运行」,底部日志会显示节点运行情况。如下图所示:
注:任务运维界面介绍请参见:任务运维;用户若想定期运行任务,可使用 调度配置 功能
2.5 效果查看
MySQL 数据库中生成了「product」数据表,如下图所示:
2.6 设计调度任务
为了保证数据的实时性,我们可以设置「定时任务调度配置」,实现数据的定时更新。
此时,需要将「数据同步」节点的数据去向写入方式改为「清空目标表,在写入数据」,否则如果仍然选择「直接写入数据」会将来源数据表数据全量写入目标数据表,如下图所示:
更多数据更新方式详情参见:数据更新专题概述