本文主要介紹 FDL 相關的 FineDB 表結構,平台相關的 FineDB 表結構請參見:FineDB 表結構
注1:由於外接資料庫的類型不同,欄位的資料類型不完全一致,本文以工程內建資料庫為例,使用者需自行匹配。
注2:FineDB 配置庫用於存放工程配置資訊,各表之間存在聯動關係,隨意改動可能導致工程無法啟動等嚴重後果。
請勿手動增!刪!改!FineDB 資料庫內的任何資料!有可能造成不可修復的 BUG,需自行承擔後果。
表間關係如下所示:
全局參數定義表:定義和儲存全局參數配置。
靜態參數的類型,包含日期(DATE)、正文(STRING)、布爾(BOOLEAN)、數值(NUMBER)四類
動態參數的該值為空
最近一次運作記錄資訊。
若定時任務當天沒有運作,會存有之前運作過的最新一條記錄。
若定時任務當天運作過,將新增一條運作記錄(lastRecord 欄位標記是否是最近一次運作記錄),歷史的運作記錄不會立刻刪掉。
是否是最近一條運作記錄
範例:true
任務刪除備份表,被刪除的任務需要記錄刪除時的任務id和任務名。
主鍵欄位uuid,任務id
調度日曆 表,儲存使用者上傳的調度日曆。
定時/事件調度、單一/批量調度表,包括四種情況,簡單說明:
fine_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 字段含义:
unit字段含义:
0:秒 SECOND1:分钟 MINUTE2:小时 HOUR3:天 DAY4:周 WEEK
調度類型:
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
任務和任務組的映射表。任務組說明請參見:事件調度
任務組之間的關係表。
2.13 节到 2.19 节为 4.2.14.3 版本新增的表,原因:定时任务配置信息不再保存在dpworks文件夹下,而是保存在 FineDB 数据库中
主表,包含画布刚打开能看到的位置信息,组件类型等。
包含脚本类组件。
数据连接名称
SQL:nodes[i].value.dbName
Shell/Python/Bat:nodes[i].value.sshConnectionName
数据连接类型
SQL:nodes[i].value.datasourceType
Shell/Python/Bat:固定为 "ssh"
脚本类型
SQL:固定为 "text"
Shell/Python/Bat:固定为 "file"
脚本明细
SQL:nodes[i].value.dataBaseConfig
Shell:nodes[i].value.shellFilePath
Python:nodes[i].value.pythonFilePath
Bat:nodes[i].value.batFilePath
组件参数配置
Shell:nodes[i].value.shellParams
Python:nodes[i].value.pythonParams
Bat:nodes[i].value.batParams
SQL:空数组 []
脚本特定参数
Shell:{timeoutInterrupt, timeoutSeconds, charsetName}
Python:{timeoutInterrupt, timeoutSeconds, charsetName, pyCmd}
Bat:{timeoutInterrupt, timeoutSeconds, charsetName}
SQL:{}
包含插件组件和流程类组件。
包含容器类组件,文件传输,数据转换,数据同步,参数赋值,实时任务的容器(实时画布打开直接进这个容器,就进入第二层)。
输入节点。
输出节点。
包含第二层算子类节点和插件节点。
用来保存定时任务的调用关系,一行代表一条 parent -> child 的任务关系,用于记录某个任务会调用哪些下游任务,并支持按关系类型、父任务、子任务做查询和重建。
管道源端資訊表
源端的表資訊。
管道目標端資訊表。
管道目標表配置。
管道任務分組配置。
管道任務映射資訊。
映射方式:按行映射、按名稱映射
映射類型:表到表、分組表到表
管道任務斷點記錄,用來斷點續傳。
記錄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表示无限制
其他值代表对应的时间戳
API 配置表。
存储当前 api_id 已经消费过的偏移量。
4.2.8.4 版本新增。
数据服务规则表。
规则类型
BLACK_LIST
WHITE_LIST
RATE_LIMIT
ABNORMAL_ALARM
规则作用范围
GLOBAL(全局)
API(数据服务API)
APP(数据服务APP)
INSTANCE(绑定关系)
排序字段(全局规则永远排在最前面 )
数据服务规则作用表。
配置项类型
API的调用详情存储配置 API_STORE_CONFIG
SQL 腳本管理表:儲存使用者儲存的 SQL 腳本資料。
SQL腳本管理表:儲存使用者儲存的sql腳本資料
通用配置 表:定義和儲存通用配置(基於資料連結,定義大小寫轉換規則)。
資料連結名和對應的大小寫轉換規則,目前 transformation 包含全部轉大寫(UPPER_CASE)、全部轉小寫(LOWER_CASE)
範例資料:
{"transformation":"UPPER_CASE","connections":["local_fdl_data"]}
最近編輯記錄表:包括資料開發、資料管道模組的最近標記記錄。
血緣節點表:
血緣節點關係表:
解析失敗的SQL記錄表,當SQL解析失敗時,記錄在當前表裏,目前僅做記錄。
血緣非同步更新佇列表,暫存未處理的事件。
entity_id
業務實體類型:
DEV_WORK:定時任務
PIPELINE:管道任務
SERVICE_API:資料服務API
未處理:0
處理中:1
事件類型:
UPDATE:更新事件
DELETE:刪除事件
該表用於記錄事件中心的偏移資訊
該表用於資料連結和任務的血緣關係
實時任務的斷點資訊。
儲存的斷點數據
共享中斷點具體資料也存在這裏
任務執行記錄表,任務每一次運作都會產生一條執行記錄資訊
實時任務狀態表,記錄一些實時任務本身的狀態資訊
最近一條運作記錄表:儲存最近一次運作記錄以及運作記錄構建後的初始快照。
資料檢查任務運作狀態
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 的控制值并不一致,具体说明见本节第二个表格
{ "workAttributeConfig": { "taskPriority": 0, "customLogLevel": false, "logLevel": "ERROR", "dispatchType": null }, "noticeConfig": { "notification": false, "noticeConfig": { "notify": true, "notifyInDetail": false, "notifyDirtyData": true, "notifyDirtyDataInDetail": false, "notifyDDLChangeEvent": false }, "userGroup": { "users": null, "depts": null, "roles": null, "roleStr": null }, "noticeChannels": [] }, "timeoutRetryConfig": { "timeoutConfig": { "hour": 1, "minute": 0, "enabled": true }, "retryConfig": { "max": 3, "delayMinute": 2, "enabled": true }, "errorLimitConfig": { "enable": false, "limit": 1000 } }}
定时任务在创建新任务时会创建一条默认的任务控制记录,默认的记录中任务控制为:
{ "resourceType": "OFFLINE", "timeoutRetryConfigEntity": null, "noticeEntity": null, "workAttributeConfig": null}
executionStrategy值为1:保留最新排队的实例,其余跳过
executionStrategy值为0: 按排队顺序执行
{ "id": "01e41650-3ad6-4f7c-9350-30eef420efef", "controlId": "83b98b52-08f3-4b13-b132-72a5ea0c8fe8", "errorQueueConfig": { "limitNum": -1 }, "notifyConfig": { "notification": false, "notifyContent": { "taskError": true, "syncingSourceTableDeleted": false, "notifyInDetail": false, "ddl": false, "retryNotice": false }, "userGroup": { "users": null, "depts": null, "roles": null, "roleStr": null }, "noticeChannels": [] }, "retry": { "max": 0, "delayMinute": 0, "enabled": false }, "logConfig": { "customLogLevel": true, "logLevel": "INFO" }}
版本資訊表,儲存版本發佈時的基本資訊。
任務控制版本表。
控制值,包含任務的所有控制值的 json 資料
部署版本任務控制表。
公共配置表,包括當前版本、是否還原等
其中以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後關閉
反馈已提交
网络繁忙