dolphinscheduler的工作流源数据是从db拿的吗

在这里插入图片描述
图片来源:https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/architecture/design

是的,Apache DolphinScheduler 的工作流定义和相关数据通常是存储在数据库中的。具体来说,DolphinScheduler 使用数据库来存储工作流的定义、任务信息、调度历史、监控数据等。以下是详细的解释:

数据存储架构

  1. 数据库选择

    • Apache DolphinScheduler 支持多种数据库,包括 MySQL、PostgreSQL 等。默认情况下,DolphinScheduler 使用 MySQL 作为元数据存储。
  2. 主要数据表

    • t_ds_process_definition:存储工作流定义。
    • t_ds_process_instance:存储工作流实例信息。
    • t_ds_task_definition:存储任务定义。
    • t_ds_task_instance:存储任务实例信息。
    • t_ds_schedule:存储调度信息。
    • t_ds_alert:存储报警信息。
    • t_ds_user:存储用户信息。
    • t_ds_project:存储项目信息。
    • t_ds_queue:存储任务队列信息。
    • t_ds_worker_group:存储工作机组信息。
    • t_ds_alert_plugin_instance:存储报警插件实例信息。
    • t_ds_process_task_relation:存储工作流任务之间的依赖关系。

工作流定义的存储

  1. 创建工作流

    • 当用户通过 DolphinScheduler 的 Web 界面创建或编辑工作流时,工作流的定义会被序列化为 JSON 格式,并存储在 t_ds_process_definition 表中。
  2. 任务定义

    • 每个工作流中的任务定义也会被存储在 t_ds_task_definition 表中,包括任务的类型、参数、依赖关系等。
  3. 调度信息

    • 工作流的调度信息(如调度时间、调度策略)存储在 t_ds_schedule 表中。

工作流实例的存储

  1. 实例化工作流

    • 当工作流被调度执行时,会生成工作流实例,并存储在 t_ds_process_instance 表中。
  2. 任务实例

    • 每个工作流实例中的任务实例会被存储在 t_ds_task_instance 表中,包括任务的执行状态、开始时间、结束时间、日志等。

示例表结构

以下是一些主要表的简要结构示例:

t_ds_process_definition
字段名类型描述
idint主键
namevarchar(255)工作流名称
versionint版本号
descriptionvarchar(255)描述
project_idint项目ID
release_stateint发布状态
process_definition_jsontext工作流定义的JSON字符串
create_timedatetime创建时间
update_timedatetime更新时间
t_ds_task_definition
字段名类型描述
idint主键
namevarchar(255)任务名称
process_definition_idint工作流定义ID
task_typevarchar(50)任务类型
task_paramstext任务参数
descriptionvarchar(255)描述
create_timedatetime创建时间
update_timedatetime更新时间
t_ds_process_instance
字段名类型描述
idint主键
namevarchar(255)工作流实例名称
process_definition_idint工作流定义ID
statevarchar(50)实例状态
start_timedatetime开始时间
end_timedatetime结束时间
run_timesint运行次数
hostvarchar(255)运行主机
command_typevarchar(50)命令类型
command_paramtext命令参数
task_depend_typevarchar(50)任务依赖类型
max_try_timesint最大重试次数
failure_strategyvarchar(50)失败策略
warning_typevarchar(50)告警类型
warning_group_idint告警组ID
schedule_timedatetime调度时间
start_paramstext启动参数
process_instance_jsontext工作流实例的JSON字符串
create_timedatetime创建时间
update_timedatetime更新时间

数据库配置

在安装和配置 DolphinScheduler 时,需要指定数据库的连接信息。以下是一个示例配置文件片段(application.properties):

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=root

总结

Apache DolphinScheduler 使用数据库来存储工作流定义、任务定义、调度信息、实例信息等。通过数据库,DolphinScheduler 能够高效地管理和调度复杂的大数据任务和运维任务。了解数据库中的表结构和数据存储方式有助于更好地管理和维护 DolphinScheduler 系统。

如果你有更多具体的问题或需要进一步的帮助,请随时提问!

以上回答来自于AI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值