提示:
本文内容适用于 4.2.5.1 及之后版本;4.2.5.1 之前版本请参见:历史版本
本文主要介绍 FDL 相关的 FineDB 表结构,平台相关的 FineDB 表结构请参见:FineDB 表结构
注1:由于外接数据库的类型不同,字段的数据类型不完全一致,本文以工程内置数据库为例,用户需自行匹配。
注2:FineDB 配置库用于存放工程配置信息,各表之间存在关联关系,随意改动可能导致工程无法启动等严重后果。
请勿手动增!删!改!FineDB 数据库内的任何数据!有可能造成不可修复的 BUG,需自行承担后果。
表间关系如下所示:
全局参数定义表:定义和存储全局参数配置。
静态参数的类型,包含日期(DATE)、文本(STRING)、布尔(BOOLEAN)、数值(NUMBER)四类
动态参数的该值为空
最近一次运行记录信息。
若定时任务当天没有运行,会存有之前运行过的最新一条记录。
若定时任务当天运行过,将添加一条运行记录(lastRecord 字段标记是否是最近一次运行记录),历史的运行记录不会立刻删掉。
是否是最近一条运行记录
示例:true
任务删除备份表,被删除的任务需要记录删除时的任务id和任务名。
主键字段uuid,任务id
调度日历 表,保存用户上传的调度日历。
定时/事件调度、单一/批量调度表,包括四种情况,简单说明:
fdl_plan_schedule 表结构如下表所示:
值示例:
{
"id": "82606bf6-4ccf-4ba9-907a-3b417334511e", //计划id
"name": "调度1-定时B", //计划名
"type": "WORK_SCHEDULE_PLAN" //计划类型:单任务计划:WORK_SCHEDULE_PLAN;批量计划:SCHEDULE_PLAN
}
调度配置-定时调度:
示例:
"frequency": { // 调度频率配置 "type": 2, "value": { // 频率具体配置 "cron": null, // cron表达式(当type为cron类型时使用) "executeTime": null, // 执行时间点(当按时间点执行时使用) "executeDay": null, // 执行日期(当按日期执行时使用) "executeMonth": null, // 执行月份(当按月执行时使用) "space": 1, // 间隔数量,配合unit使用 "unit": 3 // 时间单位 } },
type 字段含义:
调度类型:
4.1.11.1 之前版本:包括定时调度(TIME)、事件调度(EVENT)
4.1.11.1 及之后版本:定时调度(TIME)
计划(不区分定时调度和事件调度)和任务的对应关系表,一个计划可以对应多个任务。
4.2.5.1 之前版本,名称为 fine_dp_plan_work ;4.2.5.1 及之后版本,fine_dp_plan_work 表被弃用。
能触发 事件调度 的记录表。
任务状态(必须是完成状态)
示例数据:SUCCESS
最后修改时间
示例数据:1721704150000
事件调度基础信息表。
事件调度任务组表。
判断条件
"type":TIMING/REALTIME
"condition": {
"type":"judge",
"conditionCompareType":"DATE_AFTER",
"valueType":"DATE",
"source": {
"type":"field",
"value":"taskFinishTime",
},
"target":{
"type": "DATE_INTERVAL",
"value": {
"num": 1,
"unit": "DAY"
"timing":{
"id": "0f3c2bb9-498a-4bf0-991b-545aa13a41d3", //实际为任务组id
"scheduleOpen": true, //是否开启调度;默认为true
"startTime": { //调度开始时间
"value": "2024-03-13 18:22:19"
"frequency": { //调度的执行频率配置
"type": 1,
"value": null
"endTime": { //调度结束时间
"type": "TIME", //调度的类型,TIME代表定时调度
"calendar": {
"open": false,
"calendarId": ""
once:true,//是否只使用一次
status:"SUCCESS" //可以触发下游任务组的任务状态;SUCCESS/FINISHED
任务和任务组的映射表。任务组说明请参见:事件调度
任务组之间的关系表。
管道源端信息表
读取模式
示例数据:
"name": "Binlog",
"startPoint": "",
"format": "",
"schemaRegistryUrl": ""
同步方式
4.2.11.3版本删除
仅增量起点
源端的表信息。
是否同步完成
同步类型:
FULL_AND_INCREMENTAL
INCREMENTAL
4.2.11.3版本新增
增量起点类型
CUSTOM:自定义起点
EARLIEST:最早有效起点
DEFAULT:任务启动时间
当启动类型为自定义时,该配置才生效
管道目标端信息表。
删除策略,目前有逻辑删除和物理删除
4.2.11.3版本移除
是否开启无主键同步
额外配置,目前有分批配置
管道目标表配置。
是否允许主键为null
true:在通过主键、逻辑主键进行更新和删除的时候会考虑为null的场景
false:默认主键、逻辑主键不存在为null的场景
其他配置
目前是批量写入配置
管道任务分组配置。
管道任务映射信息。
映射方式:按行映射、按名称映射
映射类型:表到表、分组表到表
管道任务断点记录,用来断点续传。
记录ID
管道任务执行记录与统计表
部分是表级的记录(下表中字段名为绿色),任务级别的记录由表级汇总得到。部分是任务级别的(下表中字段名为灰色)。
管道任务的运行信息表(任务级别)。
管道任务中如果捕获到脏数据后,会将脏数据的基本信息存储在这个表中。
主键信息,一个json字符串。
例子:
"before": "更新前主键",
"after": "更新后主键"
表间关系如下:
数据服务应用配置表。
认证信息
"authType": "EmptyAuth", // 当前生效的认证类型
"authConfig": [ //认证的具体配置
"type": "EmptyAuth" // 无认证
"code": "AppCode a25787ba-fd6c-4f23-b46a-8b148c2ab1a9",
"type": "AppCodeAuth" // APPCode认证
"secret": "",
"type": "DigestSignatureAuth" // 摘要认真
],
"type": "Auth"
应用和API的关联表。
有效期:
-1表示无限制
其他值代表对应的时间戳
访问限制:
其他值代表对应的限制个数
时间单位
MINUTES:分钟
HOURS:小时
DAYS:天
"limitCount": 100, // 单位时间最大访问次数
"timeUnit": "HOURS", // 时间单位
"type": "RateLimit"
API 配置表。
存储当前 api_id 已经消费过的偏移量。
4.2.8.4 版本新增。
SQL 脚本管理表:存储用户保存的 SQL 脚本数据。
SQL脚本管理表:存储用户保存的sql脚本数据
通用配置 表:定义和存储通用配置(基于数据连接,定义大小写转换规则)。
数据连接名和对应的大小写转换规则,目前 transformation 包含全部转大写(UPPER_CASE)、全部转小写(LOWER_CASE)
{"transformation":"UPPER_CASE","connections":["local_fdl_data"]}
最近编辑记录表:包括数据开发、数据管道模块的最近标记记录。
该表的每一行记录代表 血缘图 里的一个节点。
下图的字段值为代码内在逻辑,与功能无关。
血缘节点关系表:
解析失败的SQL记录表,当SQL解析失败时,记录在当前表里,目前仅做记录。
该表用于记录事件中心的偏移量信息
该表用于数据连接和任务的血缘关系
实时任务的断点信息。
保存的断点数据
共享中断点具体数据也存在这里
任务执行记录表,任务每一次运行都会产生一条执行记录信息
实时任务状态表,记录一些实时任务本身的状态信息
最近一条运行记录表:存储最近一次运行记录以及运行记录构建后的初始快照。
数据检测任务运行状态
BUILDING-构建中;
BUILD_FAIL-构建失败;
PASS-通过;
NOT_PASS-不通过;
ERROR-运行失败;
INVALID-失效;
INTERRUPT-中断;
RUNNING-运行中;
QUEUEING-排队中)
触发方式
(FIX_TIME-定时;MANUAL-手动)
数据检测任务配置表,任务目录、消息通知配置。
全局规则定义表:定义和存储全局规则配置。
任务和全局规则引用关系表:存储任务和全局规则的引用关系(N:N)。
维护任务 id 和 forkId 的关系,涉及功能:批量导入导出定时任务、调度计划
具体表结构说明请参见:配置信息存储表
本章节只记录 FDL 相关字段:
4.1.9.3 及之后版本,fine_conf_entity 表新增字段 FDLIntegrationConfig.previewCache,值默认为 false;为 true 时代表开启算子/节点的预览缓存,下一次预览直接展示上次缓存结果。
数据连接的目录表。
数据源测试连接结果表。
公用表是不同模块一起使用的表,表内部通过 resource_type 区分不同模块数据,resource_id 代表业务 id。
目录节点类型:
ENTITY – 文件
PACKAGE – 文件夹
资源类型,每个业务模块根据这个字段区分
PIPELINE:数据管道
DATA_SERVICE_API:数据服务API
DATA_SERVICE_APP:数据服务应用
DETECTION:数据检测任务
OFFLINE:定时任务
STREAM:实时任务
updateTime仅记录配置更新时间
离线任务记录画布更新时间,更新任务控制不会更新这个时间
控制值,包含任务的所有控制值的 json 数据
不同 resource_type 的控制值并不一致,具体说明见本节第二个表格
定时任务在创建新任务时会创建一条默认的任务控制记录,默认的记录中任务控制为:
{ "resourceType": "OFFLINE", "timeoutRetryConfigEntity": null, "noticeEntity": null, "workAttributeConfig": null}
版本信息表,存储版本发布时的基本信息。
任务控制版本表。
部署版本任务控制表。
公共配置表,包括当前版本、是否还原等
其中以namespace为子表名,entity_value(json格式)为子表字段和数据详细示例数据:
"version": "4.1.5.5" //当前版本号,必须字段
全局规则定义表:定义和存储全局规则配置
(BUILDING-构建中;BUILD_FAIL-构建失败;PASS-通过;NOT_PASS-不通过;ERROR-运行失败;INVALID-失效;INTERRUPT-中断;RUNNING-运行中;QUEUEING-排队中)
日志文件存储路径
路径为文件夹,文件夹下存放有日志文件和快照文件
每个采集任务会有一些配置数据需要持久化存储。
采集任务是否已禁用
该字段被废弃
每个采集任务对应的运行状态数据,包含采集断点、表结构等信息
全局清洗规则实体表:定义和存储全局清洗规则
业务引用规则明细:存储业务中任务对全局清洗规则的引用
数据连接的目录表
数据源测试连接结果表
定时管道来源配置信息。
4.2.8.1 版本新增。
定时管道目标配置信息表。
基础的映射信息表。
定时管道源表定义表。
定时管道目标表定义表。
应用数据源表信息。
定时管道日志记录表。
运维记录表。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy