本文档为dolphinscheduler配置文件指南,针对版本为 dolphinscheduler-1.3.x 版本.  


任务总体存储结构


在dolphinscheduler中创建的所有任务都保存在t_ds_process_definition 表中.

该数据库表结构如下表所示:

序号

字段

类型

描述

1

id

int(11)

主键

2

name

varchar(255)

流程定义名称

3

version

int(11)

流程定义版本

4

release_state

tinyint(4)

流程定义的发布状态:0 未上线 , 1已上线

5

project_id

int(11)

项目id

6

user_id

int(11)

流程定义所属用户id

7

process_definition_json

longtext

流程定义JSON

8

description

text

流程定义描述

9

global_params

text

全局参数

10

flag

tinyint(4)

流程是否可用:0 不可用,1 可用

11

locations

text

节点坐标信息

12

connects

text

节点连线信息

13

receivers

text

收件人

14

receivers_cc

text

抄送人

15

create_time

datetime

创建时间

16

timeout

int(11)

超时时间

17

tenant_id

int(11)

租户id

18

update_time

datetime

更新时间

19

modify_by

varchar(36)

修改用户

20

resource_ids

varchar(255)

资源ids

其中process_definition_json 字段为核心字段, 定义了 DAG 图中的任务信息.该数据以JSON 的方式进行存储.

公共的数据结构如下表.

序号

字段

类型

描述

1

globalParams

Array

全局参数

2

tasks

Array

流程中的任务集合 [ 各个类型的结构请参考如下章节]

3

tenantId

int

租户id

4

timeout

int

超时时间

数据示例:

{
"globalParams":[
{
"prop":"golbal_bizdate",
"direct":"IN",
"type":"VARCHAR",
"value":"${system.biz.date}"
}
],
"tasks":Array[1],
"tenantId":0,
"timeout":0
}

各任务类型存储结构详解

Shell节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SHELL

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


rawScript

String

Shell脚本


6


localParams

Array

自定义参数


7


resourceList

Array

资源文件


8

description


String

描述


9

runFlag


String

运行标识


10

conditionResult


Object

条件分支


11


successNode

Array

成功跳转节点


12


failedNode

Array

失败跳转节点


13

dependence


Object

任务依赖

与params互斥

14

maxRetryTimes


String

最大重试次数


15

retryInterval


String

重试间隔


16

timeout


Object

超时控制


17

taskInstancePriority


String

任务优先级


18

workerGroup


String

Worker分组


19

preTasks


Array

前置任务


节点数据样例:

{
"type":"SHELL",
"id":"tasks-80760",
"name":"Shell Task",
"params":{
"resourceList":[
{
"id":3,
"name":"run.sh",
"res":"run.sh"
}
],
"localParams":[

],
"rawScript":"echo "This is a shell script""
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}


SQL节点

通过 SQL对指定的数据源进行数据查询、更新操作.

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SQL

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


type

String

数据库类型


6


datasource

Int

数据源id


7


sql

String

查询SQL语句


8


udfs

String

udf函数

UDF函数id,以逗号分隔.

9


sqlType

String

SQL节点类型

0 查询 , 1 非查询

10


title

String

邮件标题


11


receivers

String

收件人


12


receiversCc

String

抄送人


13


showType

String

邮件显示类型

TABLE 表格 , ATTACHMENT附件

14


connParams

String

连接参数


15


preStatements

Array

前置SQL


16


postStatements

Array

后置SQL


17


localParams

Array

自定义参数


18

description


String

描述


19

runFlag


String

运行标识


20

conditionResult


Object

条件分支


21


successNode

Array

成功跳转节点


22


failedNode

Array

失败跳转节点


23

dependence


Object

任务依赖

与params互斥

24

maxRetryTimes


String

最大重试次数


25

retryInterval


String

重试间隔


26

timeout


Object

超时控制


27

taskInstancePriority


String

任务优先级


28

workerGroup


String

Worker 分组


29

preTasks


Array

前置任务


节点数据样例:

{
"type":"SQL",
"id":"tasks-95648",
"name":"SqlTask-Query",
"params":{
"type":"MYSQL",
"datasource":1,
"sql":"select id , namge , age from emp where id = ${id}",
"udfs":"",
"sqlType":"0",
"title":"xxxx@xxx.com",
"receivers":"xxxx@xxx.com",
"receiversCc":"",
"showType":"TABLE",
"localParams":[
{
"prop":"id",
"direct":"IN",
"type":"INTEGER",
"value":"1"
}
],
"connParams":"",
"preStatements":[
"insert into emp ( id,name ) value (1,'Li' )"
],
"postStatements":[

]
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

PROCEDURE[存储过程]节点

节点数据结构如下:

节点数据样例:

SPARK节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SPARK

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


mainClass

String

运行主类


6


mainArgs

String

运行参数


7


others

String

其他参数


8


mainJar

Object

程序 jar 包


9


deployMode

String

部署模式

local,client,cluster

10


driverCores

String

driver核数


11


driverMemory

String

driver 内存数


12


numExecutors

String

executor数量


13


executorMemory

String

executor内存


14


executorCores

String

executor核数


15


programType

String

程序类型

JAVA,SCALA,PYTHON

16


sparkVersion

String

Spark 版本

SPARK1 , SPARK2

17


localParams

Array

自定义参数


18


resourceList

Array

资源文件


19

description


String

描述


20

runFlag


String

运行标识


21

conditionResult


Object

条件分支


22


successNode

Array

成功跳转节点


23


failedNode

Array

失败跳转节点


24

dependence


Object

任务依赖

与params互斥

25

maxRetryTimes


String

最大重试次数


26

retryInterval


String

重试间隔


27

timeout


Object

超时控制


28

taskInstancePriority


String

任务优先级


29

workerGroup


String

Worker 分组


30

preTasks


Array

前置任务


节点数据样例:

{
"type":"SPARK",
"id":"tasks-87430",
"name":"SparkTask",
"params":{
"mainClass":"org.apache.spark.examples.SparkPi",
"mainJar":{
"id":4
},
"deployMode":"cluster",
"resourceList":[
{
"id":3,
"name":"run.sh",
"res":"run.sh"
}
],
"localParams":[

],
"driverCores":1,
"driverMemory":"512M",
"numExecutors":2,
"executorMemory":"2G",
"executorCores":2,
"mainArgs":"10",
"others":"",
"programType":"SCALA",
"sparkVersion":"SPARK2"
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

MapReduce(MR)节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

MR

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


mainClass

String

运行主类


6


mainArgs

String

运行参数


7


others

String

其他参数


8


mainJar

Object

程序 jar 包


9


programType

String

程序类型

JAVA,PYTHON

10


localParams

Array

自定义参数


11


resourceList

Array

资源文件


12

description


String

描述


13

runFlag


String

运行标识


14

conditionResult


Object

条件分支


15


successNode

Array

成功跳转节点


16


failedNode

Array

失败跳转节点


17

dependence


Object

任务依赖

与params互斥

18

maxRetryTimes


String

最大重试次数


19

retryInterval


String

重试间隔


20

timeout


Object

超时控制


21

taskInstancePriority


String

任务优先级


22

workerGroup


String

Worker 分组


23

preTasks


Array

前置任务


节点数据样例:

{
"type":"MR",
"id":"tasks-28997",
"name":"MRTask",
"params":{
"mainClass":"wordcount",
"mainJar":{
"id":5
},
"resourceList":[
{
"id":3,
"name":"run.sh",
"res":"run.sh"
}
],
"localParams":[

],
"mainArgs":"/tmp/wordcount/input /tmp/wordcount/output/",
"others":"",
"programType":"JAVA"
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

Python节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

PYTHON

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


rawScript

String

Python脚本


6


localParams

Array

自定义参数


7


resourceList

Array

资源文件


8

description


String

描述


9

runFlag


String

运行标识


10

conditionResult


Object

条件分支


11


successNode

Array

成功跳转节点


12


failedNode

Array

失败跳转节点


13

dependence


Object

任务依赖

与params互斥

14

maxRetryTimes


String

最大重试次数


15

retryInterval


String

重试间隔


16

timeout


Object

超时控制


17

taskInstancePriority


String

任务优先级


18

workerGroup


String

Worker 分组


19

preTasks


Array

前置任务


节点数据样例:

{
"type":"PYTHON",
"id":"tasks-5463",
"name":"Python Task",
"params":{
"resourceList":[
{
"id":3,
"name":"run.sh",
"res":"run.sh"
}
],
"localParams":[

],
"rawScript":"print("This is a python script")"
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

Flink节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

FLINK

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


mainClass

String

运行主类


6


mainArgs

String

运行参数


7


others

String

其他参数


8


mainJar

Object

程序 jar 包


9


deployMode

String

部署模式

local,client,cluster

10


slot

String

slot数量


11


taskManager

String

taskManage数量


12


taskManagerMemory

String

taskManager内存数


13


jobManagerMemory

String

jobManager内存数


14


programType

String

程序类型

JAVA,SCALA,PYTHON

15


localParams

Array

自定义参数


16


resourceList

Array

资源文件


17

description


String

描述


18

runFlag


String

运行标识


19

conditionResult


Object

条件分支


20


successNode

Array

成功跳转节点


21


failedNode

Array

失败跳转节点


22

dependence


Object

任务依赖

与params互斥

23

maxRetryTimes


String

最大重试次数


24

retryInterval


String

重试间隔


25

timeout


Object

超时控制


26

taskInstancePriority


String

任务优先级


27

workerGroup


String

Worker 分组


38

preTasks


Array

前置任务


节点数据样例:

{
"type":"FLINK",
"id":"tasks-17135",
"name":"FlinkTask",
"params":{
"mainClass":"com.flink.demo",
"mainJar":{
"id":6
},
"deployMode":"cluster",
"resourceList":[
{
"id":3,
"name":"run.sh",
"res":"run.sh"
}
],
"localParams":[

],
"slot":1,
"taskManager":"2",
"jobManagerMemory":"1G",
"taskManagerMemory":"2G",
"executorCores":2,
"mainArgs":"100",
"others":"",
"programType":"SCALA"
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

HTTP节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

HTTP

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


url

String

请求地址


6


httpMethod

String

请求方式

GET,POST,HEAD,PUT,DELETE

7


httpParams

Array

请求参数


8


httpCheckCondition

String

校验条件

默认响应码200

9


condition

String

校验内容


10


localParams

Array

自定义参数


11

description


String

描述


12

runFlag


String

运行标识


13

conditionResult


Object

条件分支


14


successNode

Array

成功跳转节点


15


failedNode

Array

失败跳转节点


16

dependence


Object

任务依赖

与params互斥

17

maxRetryTimes


String

最大重试次数


18

retryInterval


String

重试间隔


19

timeout


Object

超时控制


20

taskInstancePriority


String

任务优先级


21

workerGroup


String

Worker 分组


22

preTasks


Array

前置任务


节点数据样例:

{
"type":"HTTP",
"id":"tasks-60499",
"name":"HttpTask",
"params":{
"localParams":[

],
"httpParams":[
{
"prop":"id",
"httpParametersType":"PARAMETER",
"value":"1"
},
{
"prop":"name",
"httpParametersType":"PARAMETER",
"value":"Bo"
}
],
"url":"https://www.xxxxx.com:9012",
"httpMethod":"POST",
"httpCheckCondition":"STATUS_CODE_DEFAULT",
"condition":""
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

DataX节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

DATAX

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


customConfig

Int

自定义类型

0定制 , 1自定义

6


dsType

String

源数据库类型


7


dataSource

Int

源数据库ID


8


dtType

String

目标数据库类型


9


dataTarget

Int

目标数据库ID


10


sql

String

SQL语句


11


targetTable

String

目标表


12


jobSpeedByte

Int

限流(字节数)


13


jobSpeedRecord

Int

限流(记录数)


14


preStatements

Array

前置SQL


15


postStatements

Array

后置SQL


16


json

String

自定义配置

customConfig=1时生效

17


localParams

Array

自定义参数

customConfig=1时生效

18

description


String

描述


19

runFlag


String

运行标识


20

conditionResult


Object

条件分支


21


successNode

Array

成功跳转节点


22


failedNode

Array

失败跳转节点


23

dependence


Object

任务依赖

与params互斥

24

maxRetryTimes


String

最大重试次数


25

retryInterval


String

重试间隔


26

timeout


Object

超时控制


27

taskInstancePriority


String

任务优先级


28

workerGroup


String

Worker 分组


29

preTasks


Array

前置任务


节点数据样例:

{
"type":"DATAX",
"id":"tasks-91196",
"name":"DataxTask-DB",
"params":{
"customConfig":0,
"dsType":"MYSQL",
"dataSource":1,
"dtType":"MYSQL",
"dataTarget":1,
"sql":"select id, name ,age from user ",
"targetTable":"emp",
"jobSpeedByte":524288,
"jobSpeedRecord":500,
"preStatements":[
"truncate table emp "
],
"postStatements":[
"truncate table user"
]
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

Sqoop节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SQOOP

3

name


String

名称


4

params


Object

自定义参数

JSON 格式

5


concurrency

Int

并发度


6


modelType

String

流向

import,export

7


sourceType

String

数据源类型


8


sourceParams

String

数据源参数

JSON格式

9


targetType

String

目标数据类型


10


targetParams

String

目标数据参数

JSON格式

11


localParams

Array

自定义参数


12

description


String

描述


13

runFlag


String

运行标识


14

conditionResult


Object

条件分支


15


successNode

Array

成功跳转节点


16


failedNode

Array

失败跳转节点


17

dependence


Object

任务依赖

与params互斥

18

maxRetryTimes


String

最大重试次数


19

retryInterval


String

重试间隔


20

timeout


Object

超时控制


21

taskInstancePriority


String

任务优先级


22

workerGroup


String

Worker 分组


23

preTasks


Array

前置任务


节点数据样例:

{
"type":"SQOOP",
"id":"tasks-82041",
"name":"Sqoop Task",
"params":{
"concurrency":1,
"modelType":"import",
"sourceType":"MYSQL",
"targetType":"HDFS",
"sourceParams":"{"srcType":"MYSQL","srcDatasource":1,"srcTable":"","srcQueryType":"1","srcQuerySql":"selec id , name from user","srcColumnType":"0","srcColumns":"","srcConditionList":[],"mapColumnHive":[{"prop":"hivetype-key","direct":"IN","type":"VARCHAR","value":"hivetype-value"}],"mapColumnJava":[{"prop":"javatype-key","direct":"IN","type":"VARCHAR","value":"javatype-value"}]}",
"targetParams":"{"targetPath":"/user/hive/warehouse/ods.db/user","deleteTargetDir":false,"fileType":"--as-avrodatafile","compressionCodec":"snappy","fieldsTerminated":",","linesTerminated":"@"}",
"localParams":[

]
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

条件分支节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SHELL

3

name


String

名称


4

params


Object

自定义参数

null

5

description


String

描述


6

runFlag


String

运行标识


7

conditionResult


Object

条件分支


8


successNode

Array

成功跳转节点


9


failedNode

Array

失败跳转节点


10

dependence


Object

任务依赖

与params互斥

11

maxRetryTimes


String

最大重试次数


12

retryInterval


String

重试间隔


13

timeout


Object

超时控制


14

taskInstancePriority


String

任务优先级


15

workerGroup


String

Worker 分组


16

preTasks


Array

前置任务


节点数据样例:

{
"type":"CONDITIONS",
"id":"tasks-96189",
"name":"条件",
"params":{

},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
"test04"
],
"failedNode":[
"test05"
]
},
"dependence":{
"relation":"AND",
"dependTaskList":[

]
},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[
"test01",
"test02"
]
}

子流程节点

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

SHELL

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


processDefinitionId

Int

流程定义id


6

description


String

描述


7

runFlag


String

运行标识


8

conditionResult


Object

条件分支


9


successNode

Array

成功跳转节点


10


failedNode

Array

失败跳转节点


11

dependence


Object

任务依赖

与params互斥

12

maxRetryTimes


String

最大重试次数


13

retryInterval


String

重试间隔


14

timeout


Object

超时控制


15

taskInstancePriority


String

任务优先级


16

workerGroup


String

Worker 分组


17

preTasks


Array

前置任务


节点数据样例:

{
"type":"SUB_PROCESS",
"id":"tasks-14806",
"name":"SubProcessTask",
"params":{
"processDefinitionId":2
},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{

},
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

依赖(DEPENDENT)节点

节点数据结构如下:

节点数据结构如下:

序号

参数名


类型

描述

描述

1

id


String

任务编码


2

type


String

类型

DEPENDENT

3

name


String

名称


4

params


Object

自定义参数

Json 格式

5


rawScript

String

Shell脚本


6


localParams

Array

自定义参数


7


resourceList

Array

资源文件


8

description


String

描述


9

runFlag


String

运行标识


10

conditionResult


Object

条件分支


11


successNode

Array

成功跳转节点


12


failedNode

Array

失败跳转节点


13

dependence


Object

任务依赖

与params互斥

14


relation

String

关系

AND,OR

15


dependTaskList

Array

依赖任务清单


16

maxRetryTimes


String

最大重试次数


17

retryInterval


String

重试间隔


18

timeout


Object

超时控制


19

taskInstancePriority


String

任务优先级


20

workerGroup


String

Worker 分组


21

preTasks


Array

前置任务


节点数据样例:

{
"type":"DEPENDENT",
"id":"tasks-57057",
"name":"DenpendentTask",
"params":{

},
"description":"",
"runFlag":"NORMAL",
"conditionResult":{
"successNode":[
""
],
"failedNode":[
""
]
},
"dependence":{
"relation":"AND",
"dependTaskList":[
{
"relation":"AND",
"dependItemList":[
{
"projectId":1,
"definitionId":7,
"definitionList":[
{
"value":8,
"label":"MRTask"
},
{
"value":7,
"label":"FlinkTask"
},
{
"value":6,
"label":"SparkTask"
},
{
"value":5,
"label":"SqlTask-Update"
},
{
"value":4,
"label":"SqlTask-Query"
},
{
"value":3,
"label":"SubProcessTask"
},
{
"value":2,
"label":"Python Task"
},
{
"value":1,
"label":"Shell Task"
}
],
"depTasks":"ALL",
"cycle":"day",
"dateValue":"today"
}
]
},
{
"relation":"AND",
"dependItemList":[
{
"projectId":1,
"definitionId":5,
"definitionList":[
{
"value":8,
"label":"MRTask"
},
{
"value":7,
"label":"FlinkTask"
},
{
"value":6,
"label":"SparkTask"
},
{
"value":5,
"label":"SqlTask-Update"
},
{
"value":4,
"label":"SqlTask-Query"
},
{
"value":3,
"label":"SubProcessTask"
},
{
"value":2,
"label":"Python Task"
},
{
"value":1,
"label":"Shell Task"
}
],
"depTasks":"SqlTask-Update",
"cycle":"day",
"dateValue":"today"
}
]
}
]
},
"maxRetryTimes":"0",
"retryInterval":"1",
"timeout":{
"strategy":"",
"interval":null,
"enable":false
},
"taskInstancePriority":"MEDIUM",
"workerGroup":"default",
"preTasks":[

]
}

​​

DolphinScheduler

新一代大数据任务调度 - Apache DolphinScheduler-1.3.x Task任务类型结构_edn

​​ DolphinScheduler 

新一代大数据任务调度 - Apache DolphinScheduler-1.3.x Task任务类型结构_sql_02


​​PR() PR


​​https://github.com/apache/incubator-dolphinscheduler/issues/4124


​​https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html


​​ github https://github.com/apache/incubator-dolphinscheduler-website


​​DolphinScheduler


(easyworkflow) 

Do​​lphinScheduler