反馈已提交

网络繁忙

FineDB表结构

  • 文档创建者:Roxy
  • 历史版本:38
  • 最近更新:Roxy 于 2024-12-17
  • 1. 概述

    1.1 版本

    FineDataLink版本
    功能变动
    4.1.11.1
    新增表事件调度表:

    fine_dp_exec_record_trigger

    fine_dp_schedule

    fine_dp_task_map_group

    fine_dp_task_group

    fine_dp_task_group_relation

    新增血缘分析表:

    fine_dp_lineage_node

    fine_dp_lineage_edge

    fine_dp_lineage_sql


    历史版本更新
    FineDataLink版本功能变动
    4.1.7.3

    1)fine_dp_work_exec_record表迁移到logdb中,表名不变,后续数据均写入迁移后数据表。升级后会将历史运行记录迁移到LogDB

    2)fine_dp_conf_entity_x表:

    • 移除namespace为DPFileEntityStore、DPTimeoutRetryStore、DPNoticeStore、DPWorkPriorityStore、DPStrategyStore、BiTableEntityStore、DPBIAttributeStore的派生表

    • 新增namespace——DPFineBackupStore,含义为是否回退到某个版本的配置

    3)新增fine_dp_data_dev_work表,为数据开发任务配置表,包含信息:任务目录、消息通知配置、超时重试配置、优先级配置、集群策略配置、输出到BI配置

    4)新fine_dp_data_dev_backup表

    4.1.8.11)新增namespace为PipelineGroup、PipelineMapConfig、PipelineTable2Group的派生表

    2)namespace为PipelineSourceTable的派生表升级为了PipelineSourceTableV1,并移除了reSync字段

    3)namespace为PipelineTargetTable的派生表升级为了PipelineTargetTableV1,并移除了sourceTableId和mapType字段

    4)namesapce为PipelineTaskV1的派生表升级为了PipelineTaskV2,并移除了sourceTypeName和targetTypeName字段

    5)fine_dp_dev_global_param表新增了config, param_type字段

    4.1.9.3fine_conf_entity 表新增字段 FDLIntegrationConfig.previewCache,值默认为false;为 true 时代表开启算子/节点的预览缓存,下一次预览直接展示上次缓存结果

    1)fine_dp_data_dev_work 表的 namespace 为 DPFileEntityStore 对应的 entity_value 新增 recycleBinDO 字段

    2)fine_dp_pipeline_task 表的 namespace为DPPipelineFileEntityStore 对应的 entity_value 新增 recycleBinDO 字段

    3)fine_dp_service_catalog 表的 namespace 为

    DataServiceAPICatalogDO 对应的 entity_value 新增 recycleBinDO 字段

    4.1.10.4fine_dp_work_last_record 增加 lastRecord 字段

    1.2 功能说明

    本文主要介绍 FDL 相关的 FineDB 表结构,平台相关的 FineDB 表结构请参见:FineDB 表结构

    注1:由于外接数据库的类型不同,字段的数据类型不完全一致,本文以工程内置数据库为例,用户需自行匹配。

    注2:FineDB 配置库用于存放工程配置信息,各表之间存在关联关系,随意改动可能导致工程无法启动等严重后果。

            请勿手动增!删!改!FineDB 数据库内的任何数据!有可能造成不可修复的 BUG,需自行承担后果。

    2. 数据开发模块

    2.1 数据开发 ER 图

    表间关系如下所示:

    3.png

    2.2 fine_dp_dev_global_param

    全局参数定义表:定义和存储全局参数配置。

    字段名类型说明
    id
    varchar主键字段uuid
    createTimevarchar参数创建时间 「时间戳格式」
    creatorvarchar参数创建用户
    namevarchar参数名
    updateDetaillongtext修改用户和修改时间列表
    valuevarchar参数的值:静态参数的值,动态参数的调试值
    datatypevarchar

    静态参数的类型,包含日期(DATE)、文本(STRING)、布尔(BOOLEAN)、数值(NUMBER)四

    动态参数的该值为空

    configlongtext动态参数的配置,包括reader和output,4.1.8.1版本新增该字段
    param_typevarchar参数类型,值域为{"DYNAMIC", "STATIC"},4.1.8.1版本新增该字段

    2.3 fine_dp_conf_entity_x

    4.1.7.3 之前版本,为数据开发任务配置表,包括当前版本、任务目录、任务路径、消息通知配置、超时重试配置、优先级配置、任务检测状态等配置(以子表形式存在)。

    4.1.7.3 及之后版本,移除 namespace 为DPFileEntityStore、DPTimeoutRetryStore、DPNoticeStore、DPWorkPriorityStore、DPStrategyStore、BiTableEntityStore、DPBIAttributeStore 的派生表。数据开发任务配置信息记录到 fine_dp_data_dev_work 表中。

    这张表的表结构比较特殊,在这张物理表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。

    字段名
    类型说明
    idvarchar主键字段uuid
    entity_keyvarchar

    版本+任务id作为key,在子表空间内是唯一

    示例值:"#4.1.5.5_2f91cf4b-a82b-4641-8b39-db82ed3fc17c"

    namespacevarchar命名空间,用来区分子表
    value_classvarchar子表对应的序列化实体类
    entity_valuelongtext不同实体的具体 json 配置
    timestampbigint记录生成的时间戳

    该字段目前不被使用

    values_indexlongtext该字段目前不被使用
    values_lengthint该字段目前不被使用
    is_deletedint该字段目前不被使用
    is_segmentint
    该字段目前不被使用
    key_classvarchar该字段目前不被使用
    segment_lengthint该字段目前不被使用

    不同 namespace 的 entity_value 的格式及含义

    4.0.25 之前版本:

    namespace子表存储的内容子表字段含义
    DPFileEntityStore定时任务文件相关配置fileId文件id,用来唯一标识文件
    envPath文件路径
    createTime文件创建时间

    4.0.25 及之后版本-4.1.7.3 版本:

    namespaceentity_value 字段存储的内容entity_value json字段内的键名键名的含义
    DPFineDBVersionStore定时任务文件版本号version当前定时任务文件版本号
    DPFileEntityStore定时任务文件相关配置:任务文件夹id
    当前节点id
    pid

    父节点id

    若在根路径下,pid为_DP_ROOT_CATALOG_,用于构建任务和目录树结构

    createTime创建时间
    creatorId创建用户id    
    type节点类型,文件夹为PACKAGE
    nextNodeId

    下一个兄弟节点Id

    4.1.6.5 及之后版本存在该字段

    定时任务文件相关配置:任务实体id当前节点id
    pid父节点id,若不在根路径下,pid为uuid,用于构建任务和目录树结构
    name定时任务名称
    createTime创建时间
    publishTime

    上线时

    4.1.6.5 及之后版本存在该字段

    describe

    4.1.6.5 及之后版本存在该字段

    checkState

    任务校验状

    4.1.6.5 及之后版本存在该字段

    publishState

    任务上线状

    4.1.6.5 及之后版本存在该字段

    creatorId创建用户id 
    type节点类型,任务实体为ENTIT
    nextNodeId

    下一个兄弟节点Id

    4.1.6.5 及之后版本存在该字段

    DPTimeoutRetryStore

    超时限制配

    失败重试配置

    脏数据容忍配置

    2.png

    值示例:

    {

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

     "timeoutConfig": {  //超时限制配置

            "hour": 1,

            "minute": 0,

            "enabled": true  //是否开启:true 为开启,fasle 为未开启

        },

        "retryConfig": {    //失败重试配置

            "max": 3,  //重跑次数

            "delayMinute": 2,  //间隔时间

            "enabled": true //是否开启:true 为开启,fasle 为未开启

        },

        "errorLimitConfig": {   //脏数据容忍配置

            "enable": true, //是否开启:true 为开启,fasle 为未开启

            "limit": 1000  //脏数据阈值

        }

    }


    DPNoticeStore记录 结果通知 数据

    值示例:

    {

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

        "notice": {

            "notification": true, //结果通知按钮是否开启        

            "noticeConfig": {   //结果通知

                "notify": true, //任务异常通知、任务失败提醒是否勾选,这两项默认勾选,且无法修改

                "notifyInDetail": true, //具体报错信息是否勾选

                "notifyDirtyData": true, //脏数据通知是否勾选

                "notifyDirtyDataInDetail": true, //脏数据汇总信息是否勾选

                "notifyDDLChangeEvent": true //源表结构变化通知是否勾选

            },

            "userGroup": {  //平台用户组

                "users": [ //用户

                    "1(1)"

                ],

                "depts": null, //部门

                "roles": null, //角色

                "roleStr": null //角色的 id,为前端开发逻辑,不涉及业务逻辑

            },

            "noticeChannels": [ //通知渠道

                {

                    "type": "sms", //sms:短信;platform:平台;email:邮件;client:客户端

                    "toUserGroup": false, //平台用户组

                    "smsReceiver": [ //收件人

     

                    ],

                    "smsNotify": false

                },

            ]

        }

    }

    DPWorkPriorityStore记录 任务属性 数据

    值示例:

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

        "taskPriority": 2,  //任务优先级。最低:-2;低:-1;中:0;高:1;最高:2

        "customLogLevel": true, //日志等级是否打开true/false

        "logLevel": "ERROR" //日志级别:包括ERROR、WARN、INFO

    }

    注:由于 FDL 需要支持版本的升级和回退,因此不同的文件版本会对应不同的记录。是以  文件版本号 + 文件ID 作为entity_key的值的。

    历史版本的记录也保留在这个表中,如果需要过滤当前版本的信息,需要对 entity_key 的值先进行筛选。

    4.1.7.3 及之后版本:

    1)fine_dp_conf_entity_x 表移除 namespace 为DPFileEntityStore、DPTimeoutRetryStore、DPNoticeStore、DPWorkPriorityStore、DPStrategyStore、BiTableEntityStore、DPBIAttributeStore 的派生表,数据开发任务配置信息记录到 fine_dp_data_dev_work 表中。

    2)新增 namespace:DPFineBackupStore,含义为是否回退到某个版本的配置。值为:"true"/"false"

    2.4 fine_dp_work_last_record

    FDL4.0.30.2 版本新增。

    最近运行记录表,只记录每个任务当天运行记录,新的运行记录会对旧的运行记录做覆盖。

    字段
    类型说明
    id
    varchar主键字段uuid,实例id
    dirtyDataNumbigint脏数据条数
    finishTimebigint任务完成时间
    lastModifiedTimebigint最近修改时间
    pathvarchar运行实例统计信息和任务快照存储路径。值示例:dpworks/record/2024-03-13/04c51446-0053-48f3-b507-bad1bdf46592.log
    sourceExecuteIdvarchar被重试的实例id,重试时有值,否则为null
    startTimebigint任务开始时间
    taskIdvarchar任务id
    taskStatus  varchar任务运行状态,包括初始状态(INITIAL)、构建失败(BUILD_FAIL)、排队中(QUEUING)、运行中(RUNNING)、任务成功(SUCCESS)、任务执行报错(ERROR)、任务失效(INVALID)、任务中断(INTERRUPT)
    triggerByvarchar触发者,手动触发为用户名;调度触发则为调度计划id
    triggerMethodvarchar任务触发类型,包括定时触发(FIX_TIME)、手动触发(MANUAL)、手动重试(MANUAL_RETRY)、时间触发(EVENT)
    triggerTime  bigint触发时间
    lastRecordbool

    是否是最后一条记录

    示例:true

    2.5 fine_dp_work_exec_record

    4.1.7.3 以及之后的版本,迁移到 LogDB 中,表名不变。

    历史运行记录表,新的运行记录直接进行插入。

    表结构同 fine_dp_work_last_record(本文 2.4 节内容)。

    注:定时任务每执行一次,都会生成一条执行记录。

    2.6 fine_dp_work_delete

    4.0.17 版本新增。

    任务删除备份表,被删除的任务需要记录删除时的任务id和任务名。

    字段
    类型说明
    id
    varchar

    主键字段uuid,任务id

    taskNamevarchar任务名称

    2.7 fine_dp_plan_calendar

    调度日历 表,保存用户上传的调度日历。

    字段
    类型说明
    idvarchar主键字段uuid,实例id
    namevarchar日历名字
    filenamevarchar导入日历时文件名
    dateslongtext日历日期
    startTimebigint日历开始时间
    endTimebigint日历结束时间
    quartz_calendar_namevarcharQUARTZ_CALENDAR表中的日历名
    timezone_idvarchar时区

    2.8 fine_dp_plan_calendar_cata

    日历目录表,记录用户创建的调度日历保存的目录结构。

    字段
    类型说明
    idvarchar主键字段uuid,实例id
    entity_keyvarchar对应日历id
    namespacevarchar命名空间
    value_classvarchar目录条目对应的DO类型
    entity_valuelongtext目录条目名字、所在位置、创建时间、所在树位置

    2.9 fine_dp_plan_schedule

    定时/事件调度、单一/批量调度表,包括四种情况,简单说明:

    plan_detail 列的 type 字段schedule_type 列的 TIME 值schedule_type 列的 EVENT 值
    WORK_SCHEDULE_PLAN单任务定时调度单任务事件调度
    SCHEDULE_PLAN批量任务定时调度批量任务事件调度

    fine_dp_plan_schedule 表结构如下表所示:

    字段
    类型说明
    idvarchar主键字段uuid
    add_timevarchar创建时间
    plan_detailvarchar

    值示例:

    {

        "id": "82606bf6-4ccf-4ba9-907a-3b417334511e", //计划id

        "name": "调度1-定时B", //计划名

        "type": "WORK_SCHEDULE_PLAN" //计划类型:单任务计划:WORK_SCHEDULE_PLAN;批量计划:SCHEDULE_PLAN

    }

    plan_idvarchar计划id
    schedulelongtext

    调度配置-定时调度:

    字段
    含义
    id调度id,值等于表中的schedule_id
    scheduleOpen是否开启调度
    startTime调度开始时间
    frequency

    调度的执行频率配置:

    type
    含义
    0未开启
    1只执行一次
    2简单重复执行
    3明细频率设置
    4表达式设定
    endTime调度结束时间
    type调度的类型,TIME代表定时调度
    calendar调度日历
    调度配置-事件调度:
    字段含义
    id
    调度id
    scheduleOpen是否开启调度
    dependentTasks依赖的任务列表
    condition执行条件
    type调度的类型,EVENT代表事件调度
    schedule_idvarchar调度id
    schedule_typevarchar调度类型,包括定时调度(TIME)、事件调度(EVENT)

    2.10 fine_dp_plan_work

    计划(不区分定时调度和事件调度)和任务的对应关系表,一个计划可以对应多个任务。

    字段
    类型说明
    idvarchar主键字段uuid
    plan_idvarchar执行计划id
    work_idvarchar任务id
    work_typevarchar任务类型,比如定时任务(TIMING)

    2.11 fine_dp_data_dev_backup

    4.1.7.3 版本,新增该表。数据开发任务配置表的备份表,value的数据与fine_dp_data_dev_work一致

    字段
    类型说明
    idvarchar主键字段uuid
    work_idvarchar任务id作为key
    versionvarchar任务的版本号
    project_versionvarchar配置的版本号
    backup_versionvarchar备份的版本号
    namespacevarchar命名空间,用来区分子表的
    valuelongtext不同实体的具体json配置
    create_timelong创建时间
    update_timelong更新时间

    2.12 fine_dp_data_dev_work

    4.1.7.3 版本,新增该表。为数据开发任务配置表,包含信息:任务目录、消息通知配置、超时重试配置、优先级配置、集群策略配置、输出到BI配置。

    字段
    类型说明
    idvarchar主键字段uuid
    work_idvarchar任务id作为key
    versionvarchar任务的版本号
    project_versionvarchar配置的版本号(懒升级使用)
    namespacevarchar命名空间,用来区分子表的
    valuelongtext不同实体的具体json配置
    create_timelong创建时间
    update_timelong更新时间

    recycleBinDO

    4.1.9.3 及之后版本,新增该字段

    varchar

    回收站信息;值格式示例:

    {

          "paths":["文件夹","子文件"]

          "deleteTime":1709544579557 // 删除时间

          "deleter":删除者

          "deleted":是否被删除

    }

    不同 namespace 值及其含义:

    namespaceentity_value 字段存储的内容entity_value json字段内的键名键名的含义
    DPFileEntityStore定时任务文件相关配置:任务文件夹id
    当前节点id
    pid

    父节点id

    若在根路径下,pid为_DP_ROOT_CATALOG_,用于构建任务和目录树结构

    createTime创建时间
    creatorId创建用户id    
    type节点类型,文件夹为PACKAGE
    nextNodeId

    下一个兄弟节点Id

    recycleBinDO

    4.1.9.3 及之后版本,新增该字段

    回收站信息
    定时任务文件相关配置:任务实体id当前节点id
    pid父节点id,若不在根路径下,pid为uuid,用于构建任务和目录树结构
    name定时任务名称
    createTime创建时间
    publishTime

    上线时

    describe

    checkState

    任务校验状

    publishState

    任务上线状

    creatorId创建用户id 
    type节点类型,任务实体为ENTIT
    nextNodeId

    下一个兄弟节点Id

    DPTimeoutRetryStore

    超时限制配

    失败重试配置

    脏数据容忍配置

    2.png

    值示例:

    {

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

     "timeoutConfig": {  //超时限制配置

            "hour": 1,

            "minute": 0,

            "enabled": true  //是否开启:true 为开启,fasle 为未开启

        },

        "retryConfig": {    //失败重试配置

            "max": 3,  //重跑次数

            "delayMinute": 2,  //间隔时间

            "enabled": true //是否开启:true 为开启,fasle 为未开启

        },

        "errorLimitConfig": {   //脏数据容忍配置

            "enable": true, //是否开启:true 为开启,fasle 为未开启

            "limit": 1000  //脏数据阈值

        }

    }


    DPNoticeStore记录 结果通知 数据

    值示例:

    {

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

        "notice": {

            "notification": true, //结果通知按钮是否开启        

            "noticeConfig": {   //结果通知

                "notify": true, //任务异常通知、任务失败提醒是否勾选,这两项默认勾选,且无法修改

                "notifyInDetail": true, //具体报错信息是否勾选

                "notifyDirtyData": true, //脏数据通知是否勾选

                "notifyDirtyDataInDetail": true, //脏数据汇总信息是否勾选

                "notifyDDLChangeEvent": true //源表结构变化通知是否勾选

            },

            "userGroup": {  //平台用户组

                "users": [ //用户

                    "1(1)"

                ],

                "depts": null, //部门

                "roles": null, //角色

                "roleStr": null //角色的 id,为前端开发逻辑,不涉及业务逻辑

            },

            "noticeChannels": [ //通知渠道

                {

                    "type": "sms", //sms:短信;platform:平台;email:邮件;client:客户端

                    "toUserGroup": false, //平台用户组

                    "smsReceiver": [ //收件人

     

                    ],

                    "smsNotify": false

                },

            ]

        }

    }

    DPWorkPriorityStore记录 任务属性 数据

    值示例:

        "id": "2f91cf4b-a82b-4641-8b39-db82ed3fc17c",   //任务id

        "taskPriority": 2,  //任务优先级。最低:-2;低:-1;中:0;高:1;最高:2

        "customLogLevel": true, //日志等级是否打开true/false

        "logLevel": "ERROR" //日志级别:包括ERROR、WARN、INFO

    }

    DPStrategyStore集群调度策略
    id任务id
    dispatchType集群调度策略
    DPBIAttributeStore输出到BI配置{

      "workId": "585fab47-4fa5-4a22-8bc2-899b75a70ede",

      "workName": "任务7",

      "stepNameMap": {

        "fc23a871-0136-40e4-b364-0667b31b5faa": {

          "stepId": "fc23a871-0136-40e4-b364-0667b31b5faa",

          "nodeId": "774323fc-6a23-4a69-ab3d-9bd1cb32d22b",

          "stepName": "writer"

        }

      },

      "nodeNameMap": {

        "774323fc-6a23-4a69-ab3d-9bd1cb32d22b": "数据同步"

      },

      "stepTableMap": {

        "fc23a871-0136-40e4-b364-0667b31b5faa": "gbase_1011_01"

      },

      "id": "585fab47-4fa5-4a22-8bc2-899b75a70ede"

    }

    BiTableEntityStore输出到BI配置{

      "connName": "gbase",

      "tableName": "fdl.1011_01",

      "type": null,

      "biConnName": null,

      "tableNameInBI": "gbase_1011_01",

      "valid": true,

      "catalogId": "eaa72e612e9b4ab78110744738a809d7",

      "engineType": 1,

      "createUserId": "b5f0c2ee-640f-4039-a4d4-918b55354898",

      "pathInBi": null,

      "nameInBi": "gbase_1011_01",

      "dbTableName": "fdl.1011_01"

    }

    2.13 fine_dp_exec_record_trigger

    能触发 事件调度 的记录表。

    1722562020154758.png

    字段
    类型说明
    idvarchar记录id
    task_idvarchar任务id
    task_statusvarchar

    任务状态(必须是完成状态

    示例数据:SUCCESS

    last_modified_timelong

    最后修改时

    示例数据:1721704150000

    task_group_listvarchar已经触发的任务组列表

    2.14 fine_dp_schedule

    事件调度基础信息表。

    字段
    类型说明
    idvarchar计划id
    namevarchar计划名
    add_timelong添加时间;可根据添加时间排序
    descriptionvarchar描述
    statusvarchar调度状态;有三种状态:OPEN/CLOSE/ABNORMAL

    2.15 fine_dp_task_map_group

    任务和任务组的映射表。任务组说明请参见:事件调度

    字段
    类型说明
    idvarchar任务id
    group_idvarchar任务组id

    2.16 fine_dp_task_group

    事件调度任务组表。详情请参见:事件调度

    字段
    类型说明
    idvarchar任务组id
    plan_idvarchar计划id
    namevarchar任务组名
    judgementvarchar判断条

    示例数据:

    {

        "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": 1,

                "value": null

            },

            "type": "TIME", //调度的类型,TIME代表定时调度

            "calendar": {

                "open": false,

                "calendarId": ""

            }

        }  

        once:true,//是否只使用一次

        status:"SUCCESS" //可以触发下游任务组的任务状态;SUCCESS/FINISHED

    }

    2.17 fine_dp_task_group_relation

    任务组之间的关系表。

    字段
    类型说明
    idvarchar关系id
    from_idvarchar任务组关系的来源端
    to_idvarchar任务组关系的目标端
    plan_idvarchar计划id

    3. 数据管道

    3.1 数据管道 ER 图

    表间关系如下所示:

    3.png

    3.2 fine_dp_pipeline_task

    管道任务配置表。

    表内存储了多个子表,每个子表通过 namespace 来进行区分。子表的具体内容,存储在 entity_value 字段中。

    注:fine_dp_pipeline_task 表中,entity_key+namespace可确定数据唯一。

    字段
    类型说明
    idvarchar主键字段uuid
    entity_keyvarchar子表逻辑id,在子表空间内是唯一的
    namespacevarchar

    命名空间,用来区分entity_value 中的内容

    value_classvarchar反序列化的class;已不再使用
    entity_valuelongtext子表的具体内容,为json格式。可以理解为正常表一行的内容,现在被压缩为一个字段了,json的key就是表的字段名,value就是字段值
    create_timebigint创建时间
    update_timebigint修改时间

    4.1.8.1 及之后版本说明:

    1)新增 namespace 为PipelineGroup、PipelineMapConfig、PipelineTable2Group 的派生表。

    2)namespace 为 PipelineSourceTable 的派生表升级为了 PipelineSourceTableV1,并移除了 reSync 字段。

    3)namespace 为 PipelineTargetTable 的派生表升级为了 PipelineTargetTableV1,并移除了 sourceTableId 和 mapType 字段。

    4)namesapce 为 PipelineTaskV1 的派生表升级为了 PipelineTaskV2 ,并移除了 sourceTypeName 和 targetTypeName 字段

    不同 Namespace 的 entity_value 的格式及含义

    namespace
    entity_value
    DPPipelineFileEntityStore(目录树节点)

    1712472376988006.png

    //文件夹的配置

    {

        "id": "048c2506-ddcb-4781-95d2-bcc3daf2c978",  //文件夹id

        "pid": "_PIPELINE_ROOT_CATALOG_",

        "name": "管道测试", //文件夹名称

        "createTime": 1710585997109, //文件夹创建时间

        "type": "PACKAGE" //文件夹

    }

    //管道任务

    {

        "id":"ed392335-442a-4714-a6db-1f9f2dfbbc20",    //管道任务id

        "pid":"048c2506-ddcb-4781-95d2-bcc3daf2c978",  //上层节点id

        "name":"管道任务测试",                            //管道任务名称

        "createTime":1710586066979,                     //创建时间

        "type":"ENTITY"                                 //节点类型

    "recycleBinDO":{"paths":["文件夹","子文件"],"deleteTime":1709544579557, "deleter":删除者, "deleted":true}

    }}

    PipelineTaskV2(任务实体)

    任务文件夹

    {

        "id": "ed392335-442a-4714-a6db-1f9f2dfbbc20",     //管道任务id

        "status": "RUNNING",                              //管道任务状态,详见PipelineTaskStatus类

        "syncType": "FULL_AND_INCREMENTAL",                 //同步类型,全量加增量还是仅增量

        "sourceType": "mysql",                            //源端目标端数据连接

        "sourceTypeName": "MySQL",    //4.1.7.3 及之后版本删除该字段

        "sourceConnectionName": "mysqlpf", //来源端数据连接名称

        "targetType": "postgresql",

        "targetTypeName": "PostgreSQL",    //4.1.7.3 及之后版本删除该字段

        "targetConnectionName": "pg", //目标端数据连接名称

        "firstStartTime": 1710586067545,                //初次启动时间

        "createTime": 1710586066923,              //创建时间

        "updateTime": null,

        "workerNodeId": "IN_MEMORY_VIRTUAL_NODE"        //在集群中运行的节点id,单机模式为IN_MEMORY_VIRTUAL_NODE

    }

    PipelineConfigV1(任务配置)
    记录以下页面的信息:

    4.png

    同步类型选择「仅增量同步」时,可选择增量同步起点:

    5.png

    6.png

    7.png

    值示例:

    {   //管道配置

        "id": "ed392335-442a-4714-a6db-1f9f2dfbbc20",

        //源端配置,只有选择仅增量时才能选择startPoint

        "sourceConfig": {

            "connectionType": "mysql",

            "connectionName": "mysqlpf", //源端数据连接名称

            "readMode": { //读取方式

                "name": "Binlog",

                "startPoint": "", //增量同步起点

                "format": "",

                "schemaRegistryUrl": ""

            },

            "syncType": "FULL_AND_INCREMENTAL",

            "incrementalSyncPoint": null

        },

        //目标端配置

        "targetConfig": {

            "connectionType": "postgresql",

            "connectionName": "pg", //目标端数据连接名称

            "database": "",

            "schema": "test", //模式

            "sourceChangeStrategy": {

                "sourceDeleteData": "PHYSICAL_DELETE"

            },

            "addUpdateTimestampColumn": false,

            "applyDdl": false,

            "enableHighSpeedLoad": false,

            "enableNoPrimary": false

        },

        "controlConfig": {

            //脏数据阈值

            "errorQueueConfig": {

                "limitNum": 1000

            },

            //通知配置

            "notifyConfig": {

                "notification": false,

                "notifyContent": {

                    "taskError": true,

                    "syncingSourceTableDeleted": false,

                    "notifyInDetail": false,

                    "ddl": false

                },

                "userGroup": {

                    "users": null,

                    "depts": null,

                    "roles": null,

                    "roleStr": null

                },

                "noticeChannels": []

            },

            //重试配置

            "retry": {

                "max": 3,

                "delayMinute": 2,

                "enabled": true

            },

            //日志配置

            "logConfig": {

                "customLogLevel": false,

                "logLevel": "WARN"

            }

        }

    }

    PipelineSourceTableV1(源表信息)

    PipelineTargetTableV1(目标表信息)


    记录以下页面的信息:
    8.png

    PipelineSourceTableV1(源表信息):

    字段名
    描述
    id表 id(该字段并不能判断数据唯一)
    targetTableId

    对应目标表 id,关联字段 PipelineTargetTable 的 id

    targetTableId是由管道任务id加密后的目标表名由_拼接而成

    database源数据库名
    schema源模式名
    table源表名
    topic实时同步对应的 Kafka topic 名称
    fullSyncFinished是否已经完成全量同步
    reSync是否重新同步,4.1.7.3及之后版本删除该字段
    invalid一般表示是否发生了 ddl 被改名
    columns源表字段

    PipelineTargetTableV1(目标表信息):

    字段名
    描述
    id目标表 id
    sourceTableId对应源表 id,关联字段 PipelineSourceTableV1 的 id,4.1.7.3及之后版本删除该字段
    database目标库名
    schema目标模式名
    table目标表名
    toTableMode目标表类型:已存在表还是自动建表
    mapType字段映射类型,4.1.7.3及之后版本删除该字段
    columns目标表字段
    PipelineGroup

    分组表

    "id": "ed392335-442a-4714-a6db-1f9f2dfbbc20_14f6d8b29044f9094b49932790dd0888",     //分组id

        "name": "test_group",                             //分组名称

        "columns": [{

            "name": "id",

            "type": 12,

            "typeName": "varchar",

            "size": 10,

            "scale": 0,

            "dialectTypeName": "varchar(10)",

            "label": "id",

            "editable": false,

            "nullable": false,

            "logicalPk": false,

            "comment": null,

            "level": 0,

            "sourceColumnName": "id",

            "deleted": false,

            "invalid": false,

            "columnDelete": false,

            "partitioned": false,

            "pk": true

        }, {

            "name": "timecolumn",

            "type": 93,

            "typeName": "timestamp",

            "size": 29,

            "scale": 6,

            "dialectTypeName": "timestamp",

            "label": "timecolumn",

            "editable": false,

            "nullable": true,

            "logicalPk": false,

            "comment": null,

            "level": 0,

            "sourceColumnName": "timecolumn",

            "deleted": false,

            "invalid": false,

            "columnDelete": false,

            "partitioned": false,

            "pk": false

        }, {

            "name": "mysql_update_time",

            "type": -5,

            "typeName": "int8",

            "size": 19,

            "scale": 0,

            "dialectTypeName": "int8",

            "label": "mysql_update_time",

            "editable": false,

            "nullable": true,

            "logicalPk": false,

            "comment": null,

            "level": 0,

            "sourceColumnName": "mysql_update_time",

            "deleted": false,

            "invalid": false,

            "columnDelete": false,

            "partitioned": false,

            "pk": false

        }]

    }

    PipelineMapConfig

    分组表映射:

    {

        "id": "ed392335-442a-4714-a6db-1f9f2dfbbc20_2324345354694b49932790dd0888",     //映射id

        "sourceId": "ed392335-442a-4714-a6db-1f9f2dfbbc20_14f6d8b29044f9094b49932790dd0888",                              //来源id

        "targetId": "ed392335-442a-4714-a6db-1f9f2dfbbc20_14f6d8b29044f9094b49932790dd0888", // 目标id

        "columnTypeName": "NAME",   // 字段映射方式

        "tableMapType": "GROUP_TO_TABLE"   // 表映射方式,分组表-普通表(GROUP_TO_TABLE)。普通表-普通表(TABLE_TO_TABLE)

    }

    PipelineTable2Group

    子表和分组表的映射

    {

        "id": "ed392335-442a-4714-a6db-1f9f2dfbbc20_fsefe35354694b49932790dwerfw4wef8",     //子表id

        "groupId": "ed392335-442a-4714-a6db-1f9f2dfbbc20_14f6d8b29044f9094b49932790dd0888",   // 分组id

        "columnNameMap": {  // 子表到分组表的字段名称映射

            "id": "id",

            "col1": "col1",

            "col2": "col2"

        }

    }

    3.3 fine_dp_pipeline_schema

    源表结构与断点之间的关系。用来处理 ddl 事件 sql 解析相关逻辑。

    字段
    类型说明
    idvarchar管道任务中源表的id
    commit_timebigint记录创建的时间
    positionvarchar断点位置
    schema_valuelongtext表结构记录
    table_charsetvarchar表的编码
    table_full_namevarchar表名
    task_idvarchar管道任务id

    3.4 fine_dp_pipeline_savepoint

    管道任务断点记录,用来断点续传。

    字段
    类型说明
    idvarchar

    记录ID

    create_timebigint记录创建的时间;暂未用到
    table_idvarchar源表id
    task_idvarchar任务id
    typevarchar断点类型
    update_timebigint更新时间;暂未用到
    valuelongtextJSON 格式,实际断点保存的值,不同类型的断点保存的值不同

    3.5 fine_dp_pipeline_execute

    管道任务执行记录与统计表

    部分是表级的记录(下表中字段名为绿色),任务级别的记录由表级汇总得到。部分是任务级别的(下表中字段名为灰色)。

    字段
    类型说明
    idvarchar任务id或源表id
    delete_record_countbigint删除行数(表级)
    delete_trafficbigint删除数据量(单位Byte)
    error_record_countbigint失败行数
    insert_record_countbigint插入行数
    insert_trafficbigint插入数据量(单位Byte)
    last_log_timebigint上一次任务记录时间
    last_read_timebigint上次读取时FDL服务器的时间
    last_start_timebigint上一次任务启动时间
    last_write_timebigint上次写入时FDL服务器的时间
    read_record_countbigint读取行数
    read_total_trafficbigint读取数据量(单位Byte)
    table_full_namevarchar来源表的完整名称
    task_idvarchar任务id
    to_sync_record_countbigint待同步行数
    to_sync_trafficbigint待同步数据量(单位Byte)
    typevarchar记录的类型,是表还是任务
    update_record_countbigint更新行数
    update_trafficbigint更新数据量(单位Byte)
    work_durationbigint任务实际工作时长(若任务中途有中断,则中断时间不会统计在内)
    last_massage_read_timebigint上次读取时对应的日志在数据库中的时间
    last_massage_write_timebigint上次写入时对应的日志在数据库中的时间

    3.6 fine_dp_pipeline_dirty

    管道任务中如果捕获到脏数据后,会将脏数据的基本信息存储在这个表中。

    4.0.29 及之后版本,表名称(fine_dp_pipeline_dirty):

    字段名称
    类型说明
    idvarchar脏数据id,唯一标识一条脏数据
    error_paramsvarchar不再使用
    error_typevarchar脏数据的异常类型 enum 的名字
    fdl_offsetbigint脏数据在指定topic的offset
    primary_keyvarchar

    主键信息,一个json字符串。

    例子:

    {

     "before": "更新前主键",

     "after": "更新后主键"

    }

    task_idvarchar任务id
    task_table_idbigint表id
    timestampbigint脏数据捕获时间
    fdl_topicvarchar脏数据所在的topic
    fdl_codeint该字段用来记录脏数据的一些标志位,长度为32位,也就可以标记32个不同状态
    目前从右往左的前三位按序用来标记,插入、删除、更新
    其中主键更新的脏数据会被视为删除+插入,对应的code二进制code就是11
    error_messagevarchar报错java堆栈异常的errormessage
    fdl_extralongtext额外的信息,比如错误堆栈,当前数据对应的断点信息等等,通过json格式进行存储

    4.0.27、4.0.28版本,表名称(fine_dp_pipeline_dirty_data):

    字段名称
    描述
    id脏数据id,唯一标识一条脏数据
    task_id任务id
    task_table_id表id
    timestamp脏数据捕获时间
    primary_key

    主键信息,一个json字符串。

    例子:

    {

     "before": "更新前主键",

     "after": "更新后主键"

    }

    error_type异常类型
    error_params异常信息
    topic业务数据所在的topic
    offset改脏数据在指定topic的offset

    4. 数据服务

    4.1 数据服务 ER 图

    表间关系如下:

    4.png

    4.2 fine_dp_service_app

    数据服务应用配置表。

    字段
    类型说明
    idvarchar主键字段uuid;无实际作用
    appIdvarchar应用id
    authInfolongtext

    认证信息

    示例数据:

    {

      "authType": "EmptyAuth",  // 当前生效的认证类型

      "authConfig": [ //认证的具体配置

        {

          "type": "EmptyAuth"   // 无认证

        },

        {

          "code": "AppCode a25787ba-fd6c-4f23-b46a-8b148c2ab1a9",

          "type": "AppCodeAuth"  // APPCode认证

        },

        {

          "secret": "",

          "type": "DigestSignatureAuth"  // 摘要认真

        }

      ],

      "type": "Auth"

    }

    creatorvarchar创建用户名
    descriptionvarchar应用描述
    versionvarchar版本

    4.3 fine_dp_service_catalog

    数据服务的目录表,具体结构和fine_dp_conf_entity_x类似。

    字段
    类型说明
    idvarchar主键字段uuid;无实际作用
    entity_keyvarchar版本+任务id作为key,在子表空间内是唯一的
    namespacevarchar

    命名空

    DataServiceAppCatalogDO  // 应用

    DataServiceAPICatalogDO  // API

    value_classvarcharentity_value序列化对应的实体类
    entity_valuelongtextjson格式的配置信息

    不同 namespace 对应的明细:

    namespace说明

    DataServiceAPICatalogDO(API目录)

    4.0.27 及之后版本

    字段
    含义
    idapi任务/文件夹的id
    pid父文件夹的id
    name名称
    createTime创建时间
    type类型:
    • ENTITY:api任务

    • PACKAGE:文件夹

    recycleBinDO

    4.1.9.3 及之后版本,新增该字段

    回收站信息
    DataServiceAppCatalogDO(应用目录)
    字段
    含义
    id应用/文件夹的id
    pid父文件夹的id
    name应用/文件夹的名称
    createTime创建时间
    type

    类型:

    • ENTITY:应用

    • PACKAGE:文件夹

    4.4 fine_dp_service_mapping

    应用和API的关联表。

    字段
    类型说明
    idvarchar主键字段uuid;无实际作用
    apiIdvarcharAPI的ID
    appIdvarchar应用ID
    expireTimebigint

    有效期

    • -1表示无限制

    • 其他值代表对应的时间戳

    rateLimitvarchar

    访问限制:

    字段
    含义
    limitCount单位时间内允许多少个访问请求
    • -1表示无限制

    • 其他值代表对应的限制个数

    timeUnit

    时间单位

    • MINUTES:分钟

    • HOURS:小时

    • DAYS:天

    示例数据:频率最大100次/分钟

    {

      "limitCount": 100,   // 单位时间最大访问次数

      "timeUnit": "HOURS", // 时间单位

      "type": "RateLimit"

    }

    4.5 fine_dp_service_task

    API配置表。

    字段
    类型说明
    idvarchar主键字段uuid;无实际作用
    taskIdvarcharAPI的ID
    taskTypevarchar冗余字段;目前未实际使用
    taskDetaillongtextAPI配置信息
    requestPathvarcharapi路径
    requestMethodvarchar请求方法:post、get
    isOnlinebit是否上线:1-上线,0-下线
    isAuthActivebit目前未实际使用
    descriptionvarcharAPI描述
    timeoutbigint超时时间
    versionvarchar版本
    requestContentTypevarchar请求体类型

    5. 库表管理

    5.1 库表管理ER图

    1715776025683786.png

    5.2 fine_datacenter_sql_script

    SQL 脚本管理表:存储用户保存的 SQL 脚本数据。

    字段
    类型说明
    idvarchar主键字段uuid
    connectionvarchar所属数据连接
    last_loglongtext最近一次日志,内容是日志对象json序列化后的字符串
    contentlongtext脚本内容
    create_timebigint脚本创建时间戳
    namevarchar脚本名称
    last_modified_timebigint脚本更新时间戳

    5.3 fine_datacenter_updatelog

    SQL脚本管理表:存储用户保存的sql脚本数据

    字段类型说明
    idvarchar主键字段uuid
    script_idvarchar这条更新记录对应的脚本id
    editorvarchar更新人
    modified_timebigint更新时间

    6. 公共模块

    6.1 公共模块 ER 图

    表间关系如下:

    6.2 fine_dp_general_config

    通用配置 表:定义和存储通用配置(基于数据连接,定义大小写转换规则)。

    字段
    类型说明
    idvarchar主键字段uuid
    configlongtext

    数据连接名和对应的大小写转换规则,目前 transformation 包含全部转大写(UPPER_CASE)、全部转小写(LOWER_CASE

    示例数据:

    {"transformation":"UPPER_CASE","connections":["local_fdl_data"]}

    create_timebigint配置创建时间
    typevarchar通用配置类型,暂时只有AUTO_CREATE_TABLE_CASE
    update_timevarchar配置修改时间

    6.3 fine_dp_operate_history

    最近编辑记录表:包括数据开发、数据管道模块的最近标记记录。

    字段
    类型说明
    idvarchar主键字段uuid
    operate_timebigint编辑时间
    operate_typevarchar编辑类型,包括创建(CREATE)、删除(DELETE)、修改(EDIT)
    operate_uservarchar编辑用户
    task_idvarchar任务id
    task_namevarchar任务名
    task_pathvarchar任务路径
    task_typevarchar任务类型,包括数据开发(DATA_DEVELOP)、数据管道(PIPELINE_DEVELOP)

    6.4 fine_dp_lineage_node

    血缘节点表:

    字段名
    说明
    id主键
    graph_id图id
    resource_id对应的业务资源id
    group_id节点分组id
    resource_info对应的业务资源信息


    6.5 fine_dp_lineage_edge

    血缘节点关系表:


    字段名
    说明
    id主键
    source_id父节点id,外键,对应于fine_dp_lineage_node的id
    target_id子节点id,对应于fine_dp_lineage_node的id
    graph_id图id

    6.6 fine_dp_lineage_sql

    解析失败的SQL记录表,当SQL解析失败时,记录在当前表里,目前仅做记录。

    7. fine_conf_entity

    具体表结构说明请参见:配置信息存储表

    本章节只记录 FDL 相关字段:

    4.1.9.3 及之后版本,fine_conf_entity 表新增字段 FDLIntegrationConfig.previewCache,值默认为 false;为 true 时代表开启算子/节点的预览缓存,下一次预览直接展示上次缓存结果。




    附件列表


    主题: 管理系统
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持