更新时间:2026-09-17 GMT+08:00

创建作业

功能介绍

此接口可以创建一个新作业,作业由一个或多个相互依赖的节点构成,支持Hive SQL、CDM Job等节点。DLF有两类型作业:批处理作业和实时作业。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

  • URI格式

    POST /v1/{project_id}/jobs

  • 参数说明
    表1 URI参数说明

    参数名

    是否必选

    参数类型

    说明

    project_id

    是

    String

    项目编号,获取方法请参见项目ID和账号ID。

请求参数

表2 请求Header参数

参数名

是否必选

参数类型

说明

workspace

否

String

工作空间id。获取方法请参见实例ID和工作空间ID。

  • 如果不设置该参数,默认查询default工作空间下的数据。
  • 如果需要查询其他工作空间的数据,需要带上该消息头。
    说明:
    • 多个DataArts Studio实例需要指定工作空间。
    • 当工作空间里面没有default工作空间时,工作空间为必填参数,否则会报错。
表3 参数说明

参数名

是否必选

参数类型

说明

name

是

String

作业名称,只能包含六种字符:英文字母、数字、中文、中划线、下划线和点号,且长度小于等于128个字符。作业名称不能重复。

nodes

是

List<Node>

节点定义,参考表4。

schedule

是

Schedule数据结构

调度配置,参考表5。

params

否

List<Param>

作业参数定义,参考表6。

directory

否

String

作业在目录树上的路径。创建作业时如果路径目录不存在,会自动创建目录,如/dir/a/,默认在根目录/。

processType

是

String

作业类型:

  • REAL_TIME:实时处理
  • BATCH:批处理

singleNodeJobFlag

否

Boolean

是否选择单任务,默认为false。

singleNodeJobType

否

String

单任务类型,作业类型为BATCH时类型可选择如下:

  • DLISQL
  • DWSSQL
  • HiveSQL
  • SparkSQL
  • RDSSQL

作业类型为REAL_TIME时类型可选择如下:FlinkSQL、FlinkJar、DLISpark。

lastUpdateUser

否

String

作业最后修改人。

logPath

否

String

作业运行日志存放的OBS路径。

basicConfig

否

BasicConfig数据结构

作业的基本信息,参考表29。

emptyRunningJob

否

String

取值为0和1。1表示空跑。0表示取消空跑。不设置该参数时,默认为0。

targetStatus

否

String

在开启审批开关后,需要填写该字段。表示创建作业的目标状态,有三种状态:SAVED、SUBMITTED和PRODUCTION,分别表示作业创建后是保存态,提交态,生产态。

  • 保存态表示作业仅保存,无法调度运行,需要提交并审核通过后才能运行。
  • 提交态表示作业保存后会自动提交,需要审核通过才能运行。
  • 生产态表示作业跳过审批环节,创建后可以直接运行。注意:只有工作空间的管理员用户才能创建生产态的作业。

approvers

否

List<JobApprover>

在开启审批开关后,需要填写该字段,表示作业审批人,参考表33。

审批开关的配置请参见审批中心。

表4 Node数据结构说明

参数名

是否必选

参数类型

说明

name

是

String

节点名称,只能包含六种字符:英文字母、数字、中文、中划线、下划线和点号,且长度小于等于128个字符。同一个作业中节点名称不能重复。

type

是

String

节点类型:

  • HiveSQL: 执行Hive SQL脚本
  • SparkSQL: 执行Spark SQL脚本
  • DWSSQL:执行DWS SQL脚本
  • DLISQL:执行DLI SQL脚本
  • Shell :执行Shell SQL脚本
  • CDMJob:执行CDM作业
  • DISTransferTask:创建DIS转储任务
  • CloudTableManager:CloudTable表管理,创建和删除表。
  • OBSManager:OBS路径管理,包括创建和删除路径。
  • RESTAPI:REST API请求
  • SMN:发送短信或邮件
  • MRSSpark:执行MRS服务的Spark作业
  • MapReduce:执行MRS服务的MapReduce作业
  • MRSFlinkJob: 执行MRS服务的FlinkJob作业
  • MRSHetuEngine: 执行MRS服务的HetuEngine作业
  • MRSSparkPython: 执行MRS服务的Spark Python作业
  • DLISpark:执行DLF服务的Spark作业
  • RDSSQL:传递SQL语句到RDS中执行
  • ModelArts Train:执行ModelArts服务的workflow作业
  • Dummy: 空节点作业类型
  • DataMigration:创建离线集成同步作业
  • OneclickCDC:创建实时集成同步作业

location

是

Location数据结构

节点在作业画布上的位置,参考表7。

preNodeName

否

List<String>

本节点依赖的前面的节点名称列表。

conditions

否

List<Condition>

节点执行条件,如果配置此参数,本节点是否执行由condition的字段expression所保存的EL表达式计算结果决定,参考表8。

properties

是

List<Property>

节点属性,参考表14。

每种节点类型有自己的定义,如下:

  • Hive SQL:参考表15。
  • Spark SQL:参考表16。
  • DWS SQL : 参考表17。
  • DLI SQL : 参考表18。
  • Shell :参考表19。
  • CDM Job: 参考表20。
  • DIS TransferTask :参考表21。
  • CloudTableManager :参考表22。
  • OBSManager:参考表23。
  • RESTAPI :参考表24。
  • SMN :参考表25。
  • MRS Spark: 参考表26。
  • MapReduce:参考表27。
  • DLI Spark :参考表28。
  • MRS Flink:参考表30。
  • MRS HetuEngine:参考表31。
  • ModelArts Train:参考表32。

pollingInterval

否

Int

轮询节点执行结果时间间隔。

单位 : 秒,取值范围[1, 60]

默认值: 10

execTimeOutRetry

否

String

节点是否超时重试,默认值为"false"。

maxExecutionTime

否

Int

节点最大执行时间,如果节点在最大执行时间内还未执行完成,会把节点置为失败状态。

单位 : 分钟,取值范围[5, 7200],说明:其他值实际无法生效。

默认值 : 60

retryTimes

否

Int

节点失败重试次数。取值范围[0, 100]。

默认值 : 0

retryInterval

否

Int

失败重试时间间隔。取值范围[5, 600]

单位 : 秒

默认值 : 120

failPolicy

否

String

节点失败策略:

  • FAIL:终止当前作业执行计划
  • IGNORE:继续执行下一个节点
  • SUSPEND:挂起当前作业执行计划
  • FAIL_CHILD: 终止后续节点执行计划

    默认值是FAIL。

eventTrigger

否

Event数据结构

实时作业节点事件触发配置,参考表11。

cronTrigger

否

Cron数据结构

实时作业节点Cron触发配置,参考表9。

表5 Schedule数据结构说明

参数名

是否必选

参数类型

说明

type

是

String

调度类型。

  • EXECUTE_ONCE:作业立即运行,只运行一次。
  • CRON:作业按指定频率周期执行。
  • EVENT: 根据事件触发执行。

cron

否

数据结构

当type为CRON时,配置调度频率、启动时间等信息,参考表10。

event

否

数据结构

当type为EVENT时,配置事件源等信息,参考表11。

表6 Param数据结构说明

参数名

是否必选

参数类型

说明

name

是

String

参数名称,只能包含英文字母、数字、中划线和下划线。不能超过64个字符。

value

是

String

参数值,不能超过1024个字符。

type

否

String

参数类型。

  • variable:变量
  • constants:常量

    默认值 : variable

表7 Location数据结构说明

参数名

是否必选

参数类型

说明

x

是

String

节点在作业画布上的横轴位置。

y

是

String

节点在作业画布上的纵轴位置。

表8 condition数据结构说明

参数名

是否必选

参数类型

说明

preNodeName

是

String

本节点依赖的前一个节点名称。

expression

是

String

EL表达式,如果EL表达式的计算结果为true,则触发执行本节点。

表9 CronTrigger数据结构说明

参数名

是否必选

参数类型

说明

startTime

是

String

调度开始时间,采用ISO 8601时间表示方法,格式为yyyy-MM-dd'T'HH:mm:ssZ,例如2018-10-22T23:59:59+08表示的时间为2018年10月22日23时59分59秒,在正8区。

endTime

否

String

调度结束时间,采用ISO 8601时间表示方法,格式为yyyy-MM-dd'T'HH:mm:ssZ,例如2018-10-22T23:59:59+08表示的时间为2018年10月22日23时59分59秒,在正8区。如果结束时间不配置,作业会按照调度周期一直执行下去。

expression

是

String

Cron表达式,格式为"<秒> <分> <时> <天> <月> <星期>",每个字段允许的输入值参考表12。

expressionTimeZone

否

String

Cron表达式对应的时区信息,例如GMT+8。调度系统会将表达式时间从该时区转换为服务端系统时区后执行,转换偏移量 = 设置时区(小时) - 系统时区(小时)。

例如:expressionTimeZone=GMT+2,服务端时区为 GMT+8,则偏移量为 -6,expression = 0 0 8 * * ? 将在服务端时间 02:00 执行。

默认值:使用DataArts Studio服务端所在的时区。

period

是

String

用于描述运行的间隔时间,格式为时间+时间单位。

例如:"1 hours","1 days","1 weeks","1 months"

需要与expression中的表达式对应。

dependPrePeriod

否

Boolean

是否依赖本作业上一个运行周期任务的执行结果。

默认值 : false

dependJobs

否

DependJobs数据结构

依赖其它作业配置,参考表13

concurrent

否

Integer

支持并发执行数量

表10 Cron数据结构说明

参数名

是否必选

参数类型

说明

startTime

是

String

调度开始时间,采用ISO 8601时间表示方法,格式为yyyy-MM-dd'T'HH:mm:ssZ,例如2018-10-22T23:59:59+08表示的时间为2018年10月22日23时59分59秒,在正8区。

endTime

否

String

调度结束时间,采用ISO 8601时间表示方法,格式为yyyy-MM-dd'T'HH:mm:ssZ,例如2018-10-22T23:59:59+08表示的时间为2018年10月22日23时59分59秒,在正8区。如果结束时间不配置,作业会按照调度周期一直执行下去。

expression

是

String

Cron表达式,格式为"<秒> <分> <时> <天> <月> <星期>",每个字段允许的输入值参考表12。

expressionTimeZone

否

String

Cron表达式对应的时区信息,例如GMT+8。调度系统会将表达式时间从该时区转换为服务端系统时区后执行,转换偏移量 = 设置时区(小时) - 系统时区(小时)。

例如:expressionTimeZone=GMT+2,服务端时区为 GMT+8,则偏移量为 -6,expression = 0 0 8 * * ? 将在服务端时间 02:00 执行。

默认值:使用DataArts Studio服务端所在的时区。

dependPrePeriod

否

Boolean

是否依赖本作业上一个运行周期任务的执行结果。

默认值 : false

dependJobs

否

DependJobs数据结构

依赖其它作业配置,参考表13

表11 Event数据结构说明

参数名

是否必选

参数类型

说明

eventType

是

String

选择对应的连接名称与topic,当有新的kafka消息时将会触发作业运行一次

配置为:KAFKA

事件类型,当前只支持监听DIS通道的新上报数据事件,每上报一条数据,触发作业运行一次。

配置为:DIS

选择要监听的OBS路径,如果该路径下有新增文件,则触发调度;新增的文件的路径名,可以通过变量Job.trigger.obsNewFiles引用。前提条件:该OBS路径已经配置DIS消息通知。

配置为:OBS

channel

是

String

DIS通道名称。

通过DIS管理控制台获取通道名称:

  1. 登录管理控制台。
  2. 单击“数据接入服务”,左侧列表选择“通道管理”。
  3. 通道管理页面中列出了用户拥有的通道。

failPolicy

否

String

执行失败处理策略:

  • SUSPEND :挂起
  • IGNORE:忽略失败,读取下一事件

默认值 : SUSPEND

concurrent

否

int

调度并发数

取值范围:1~128

默认值:1

readPolicy

否

String

读取策略:

  • LAST :从上次位置读取
  • NEW- 从最新位置读取

默认值 : LAST

表12 Cron表达式字段取值

字段

取值范围

允许的特殊字符

说明

秒

0-59

, - * /

当前版本只允许输入0。

分

0-59

, - * /

-

时

0-23

, - * /

-

天

1-31

, - * ? / L W C

-

月

1-12

, - * /

当前版本只允许输入*。

星期

1-7

, - * ? / L C #

从星期日开始算起。

表13 DependJobs数据结构说明

参数名

是否必选

参数类型

说明

jobs

是

List<String>

依赖的作业名称列表,必须依赖已存在的作业。

dependPeriod

否

String

依赖周期:

  • SAME_PERIOD :依赖被依赖作业的同周期任务的执行结果。
  • PRE_PERIOD :依赖被依赖作业的前一周期任务的执行结果。

默认值 : SAME_PERIOD

dependFailPolicy

否

String

依赖作业任务执行失败处理策略:

  • FAIL:停止作业,设置作业为失败状态
  • IGNORE:继续执行作业
  • SUSPEND : 挂起作业

默认值 : FAIL

表14 Property属性说明

参数名

是否必选

参数类型

说明

name

是

String

属性名称

value

是

String

属性值

表15 Hive SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

是

String

脚本名称

database

否

String

数据库名称

MRS Hive中的数据库,默认default。

connectionName

否

String

连接名称

scriptArgs

否

String

脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2

表16 Spark SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

是

String

脚本名称

database

否

String

数据库名称(非MRS API连接的方式需要填写该参数)

MRS Spark SQL中的数据库,默认default。

connectionName

是

String

连接名称

scriptArgs

否

String

脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2

表17 DWS SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

是

String

脚本名称

database

否

String

数据库名称

DWS服务中的数据库,默认postgres。

connectionName

否

String

连接名称

scriptArgs

否

String

脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2

表18 DLI SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

是

String

脚本名称

database

否

String

数据库名称

DLI服务中数据库。

connectionName

否

String

连接名称

scriptArgs

否

String

脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2

queueName

是

String

队列名称。长度:1-128个字符,只能包含字母、数字、下划线,且不能以下划线开头,不能是纯数字。

表19 Shell节点属性说明

参数名

是否必选

参数类型

说明

scriptName

是

String

脚本名称

connectionName

是

String

连接名称

arguments

否

String

Shell脚本参数

表20 CDM Job节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

集群名称。

通过DataArts Studio管理控制台 > 数据集成,在批量数据迁移集群列表可以获取到集群名称。

jobName

是

String

作业名称。

通过DataArts Studio管理控制台 > 数据集成,在批量数据迁移集群列表单击对应的集群管理,进入后在作业管理中获取作业名称。

表21 DISTransferTask节点属性说明

参数名

是否必选

参数类型

说明

streamName

是

String

DIS通道名称

通过DIS管理控制台获取通道名称:

  1. 登录管理控制台。
  2. 单击“数据接入服务”,左侧列表选择“通道管理”。
  3. 通道管理中列出了用户拥有的通道。

destinationType

是

String

转储目标:

  • CloudTable
  • OBS

duplicatePolicy

是

String

转储任务重名处理策略:

  • OVERWRITE : 覆盖
  • IGNORE :忽略

configuration

是

数据结构

转储配置,参考的 obs_destination_descriptor参数说明和cloudtable_destination_descriptor参数说明。

表22 CloudTableManager节点属性说明

参数名

是否必选

参数类型

说明

namespace

否

String

命名空间

默认值:default

action

是

String

动作类型:

  • CREATE_TABLE : 创建表
  • DELETE_TABLE : 删除表

table

否

String

表名

columnFamily

否

String

列族

表23 OBSManager节点属性说明

参数名

是否必选

参数类型

说明

action

是

String

动作类型:

  • CREATE_PATH : 创建OBS路径
  • DELETE_PATH : 删除OBS路径

path

是

String

OBS路径

表24 RestClient节点属性说明

参数名

是否必选

参数类型

说明

url

是

String

URL地址

云服务提供的URL地址。

method

是

String

HTTP方法:

  • GET
  • POST
  • PUT
  • DELETE

agentName

是

String

代理集群名称

通过DataArts Studio管理控制台 > 数据集成,在批量数据迁移集群列表可以获取到集群名称。

securityAuthentication

是

String

接口认证方式:

  • IAM:IAM token认证
  • NONE:无认证
  • usernamePassword:用户名密码认证

connectionName

否

String

数据连接

RestClient数据连接名称。接口认证方式为“usernamePassword”时,数据连接为必填参数。

headers

否

String

HTTP消息头,每个消息头的格式为<消息头名称>=<值>,多个消息头之间使用换行符分割。

body

否

String

消息体

表25 SMN节点属性说明

参数名

是否必选

参数类型

说明

topic

是

String

SMN主题URN

通过SMN管理控制台获取SMN主题URN:

  1. 登录管理控制台。
  2. 单击“消息通知服务”,左侧列表选择“主题管理 > 主题”。

在主题列表中可以获取到SMN主题URN。

subject

是

String

消息标题,给邮箱订阅者发送邮件时作为邮件主题。

messageType

是

String

消息类型

  • NORMAL
  • STRUCTURE
  • TEMPLATE

message

是

String

发送的消息。

表26 MRS Spark节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

MRS集群名称

通过MRS管理控制台获取集群名称:

  1. 登录管理控制台。
  2. 单击“MapReduce服务”,左侧列表单击“集群列表 > 现有集群”。

在现有列表中可以获取到集群名称。

jobName

是

String

MRS作业名称

用户自定义。

resourcePath

是

String

自定义Spark Jar包OBS资源路径

parameters

是

String

Spark Jar包自定义参数

对于开发的自定义Jar包,可以在此处对参数进行输入替换

input

否

String

输入路径

MRS Spark作业输入数据路径,可以为HDFS或者是OBS路径。

output

否

String

输出路径

MRS Spark作业输出数据路径,可以为HDFS或者是OBS路径。

programParameter

否

String

运行程序参数

允许多个key:value,多个参数要用竖线隔开。

表27 MapReduce节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

MRS集群名称

通过MRS管理控制台获取集群名称:

  1. 登录管理控制台。
  2. 单击“MapReduce服务”,左侧列表单击“集群列表 > 现有集群”。

在现有列表中可以获取到集群名称。

jobName

是

String

MRS作业名称

用户自定义。

resourcePath

是

String

资源路径

parameters

是

String

MapReduce作业参数

input

是

String

输入路径

MapReduce作业输入数据路径,可以为HDFS或者是OBS路径。

output

是

String

输出路径

MapReduce作业输出数据路径,可以为HDFS或者是OBS路径。

表28 DLI Spark节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

DLI队列名称

通过DLI管理控制台获取队列名称:

  1. 登录管理控制台。
  2. 单击“数据湖探索服务”,单击“队列管理”。

在队列管理列表中可以获取到队列名称。

jobName

是

String

DLI作业名称

通过DLI管理控制台获取作业名称:

  1. 登录管理控制台。
  2. 单击“数据湖探索服务”,单击Spark作业。
  3. 选择“作业管理”。

在作业管理列表中可以获取到作业名称。

resourceType

否

String

DLI作业运行资源类型,可选

1. OBS路径:OBS

2. DLI程序包:DLIResources

jobClass

否

String

主类名称。当应用程序类型为“.jar”时,主类名称不能为空。

resourcePath

是

String

JAR包资源路径

jarArgs

否

String

主类入口参数

sparkConfig

否

String

Spark作业运行参数

表29 BasicConfig作业基本信息说明

参数名

是否必选

参数类型

说明

owner

否

String

作业责任人,长度不能超过128个字符。

agency

否

String

作业委托的名称

isIgnoreWaiting

否

int

实例超时是否忽略等待时间,取值范围为0和1,默认值为1

0:表示实例超时不忽略等待时间

1:表示实例超时忽略等待时间

priority

否

int

作业优先级,取值范围[0, 2],默认值是0。0代表高优先级,1代表中优先级,2代表低优先级。

executeUser

否

String

作业执行用户,必须是已存在的用户名。

instanceTimeout

否

int

实例超时时间,单位是分钟,取值范围 [0, 10000]

customFields

否

Map<String,String>

用户自定义字段,长度不能超过2048个字符。

表30 MRS Flink节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

MRS集群名称

通过MRS管理控制台获取集群名称:

  1. 登录管理控制台。
  2. 单击“MapReduce服务”,左侧列表单击“集群列表 > 现有集群”。

在现有列表中可以获取到集群名称。

jobName

是

String

MRS作业名称

用户自定义。

flinkJobType

是

String

客户选择是Flink SQL作业或Flink JAR作业。

flinkJobProcessType

是

String

客户选择批处理模式或流处理模式。

scriptName

否

String

客户选择Flink SQL关联的SQL脚本。

resourcePath

否

String

自定义Flink Jar包OBS资源路径

input

否

String

输入路径

MRS Flink作业输入数据路径,可以为HDFS或者是OBS路径。

output

否

String

输出路径

MRS Flink作业输出数据路径,可以为HDFS或者是OBS路径。

programParameter

否

String

运行程序参数

允许多个key:value,多个参数要用竖线隔开。

表31 MRS HetuEngine节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

MRS集群名称

通过MRS管理控制台获取集群名称:

  1. 登录管理控制台。
  2. 单击“MapReduce服务”,左侧列表单击“集群列表 > 现有集群”。

在现有列表中可以获取到集群名称。

jobName

是

String

MRS作业名称

用户自定义。

statementOrScript

是

String

选择使用SQL语句和关联SQL脚本。

scriptName

否

String

选择关联的SQL脚本。

statement

否

String

自定义的SQL内容。

Data Warehouse

是

String

指定HetuEngine服务所需数据连接。

Schema

是

String

使用HetuEngine服务所要访问的数据源schema名称。

Database

是

String

使用HetuEngine服务所要访问的数据源database名称。

Queue

否

String

使用HetuEngine服务所需资源队列名称。

表32 ModelArts Train节点属性说明

参数名

是否必选

参数类型

说明

clusterName

是

String

MRS集群名称。

通过MRS管理控制台获取集群名称:

  1. 登录管理控制台。
  2. 单击“MapReduce服务”,在左侧列表单击“MRS集群 > 现有集群”。

在现有列表中可以获取到集群名称。

jobName

是

String

MRS作业名称。

用户可自定义。

statementOrScript

是

String

选择使用SQL语句和关联SQL脚本。

scriptName

否

String

选择关联的SQL脚本。

表33 审批人属性说明

参数名

是否必选

参数类型

说明

approverName

是

String

审批人名称。

响应参数

无

请求示例

创建一个作业名称为myJob的作业,作业类型为BATCH,作业调度配置为CRON,作业在目录树上的路径为/myDir,作业运行日志存放的OBS路径为obs://dlf-test-log。

POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs
{
    "basicConfig": {
        "customFields": {},
        "executeUser": "",
        "instanceTimeout": 0,
        "owner": "test_user",
        "priority": 0
    },
    "directory": "/myDir",
    "logPath": "obs://dlf-test-log",
    "name": "myJob",
    "nodes": [
        {
            "failPolicy": "FAIL_CHILD",
            "location": {
                "x": "-45.5",
                "y": "-134.5"
            },
            "maxExecutionTime": 360,
            "name": "MRS_Hive_SQL",
            "pollingInterval": 20,
            "preNodeName": [],
            "properties": [
                {
                    "name": "scriptName",
                    "value": "test_hive_sql"
                },
                {
                    "name": "connectionName",
                    "value": "mrs_hive_test"
                },
                {
                    "name": "database",
                    "value": "default"
                },
                {
                    "name": "scriptArgs",
                    "value": "test_var=111"
                }
            ],
            "retryInterval": 120,
            "retryTimes": 0,
            "type": "HiveSQL"
        }
    ],
    "processType": "BATCH",
    "schedule": {
        "type": "CRON"
    }
}

创建一个作业名称为myJob的spark单任务作业,作业类型为BATCH,作业调度配置为CRON,作业在目录树上的路径为/myDir,作业运行日志存放的OBS路径为obs://dlf-test-log。

POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs

{
    "basicConfig":{
        "agency":"bigdata_agency",
        "customFields":{},
        "instanceTimeout":0,
        "isIgnoreWaiting":1,
        "owner":"ei_dlf_l00341563",
        "tags":[],
        "priority":0
    },
    "cleanOverdueDays":60,
    "createTime":1749201826000,
    "directory":"/myDir",
    "emptyRunningJob":"0",
    "lastUpdateUser":"ei_dlf_l00341563",
    "location":{
        "x":"0",
        "y":"0"
    },
    "maskedParams":[],
    "name":"myJob",
    "nodes":[
        {
            "execTimeOutRetry":"false",
            "failPolicy":"FAIL",
            "location":{
                "x":"1.0",
                "y":"1.0"
            },
            "maxExecutionTime":360,
            "name":"myJob",
            "pollingInterval":20,
            "preNodeName":[],
            "properties":[
                {
                    "name":"connectionName",
                    "value":"spark_sql2",
                    "value_is_sensitive":false
                },
                {
                    "name":"connectionId",
                    "value":"ff8080819648067401964c5c5f4f0008",
                    "value_is_sensitive":false
                },
                {
                    "name":"statementOrScript",
                    "value":"STATEMENT",
                    "value_is_sensitive":false
                },
                {
                    "name":"mrsJobName",
                    "value":"myJob",
                    "value_is_sensitive":false
                },
                {
                    "name":"sql",
                    "value":"select 1;",
                    "value_is_sensitive":false
                },
                {
                    "name":"database",
                    "value":"default",
                    "value_is_sensitive":false
                }
            ],
            "resources":[],
            "retryInterval":120,
            "retryTimes":0,
            "type":"SparkSQL"
        }
    ],
    "processType":"BATCH",
    "resources":[],
    "runAtOnceAfterIncubate":"0",
    "schedule":{
        "cron":{
            "calendarScheduling":"false",
            "concurrent":1,
            "dependJobs":{
                "dependFailPolicy":"FAIL",
                "dependPeriod":"SAME_PERIOD",
                "jobs":[],
                "sameWorkSpaceJobs":[]
            },
            "dependPrePeriod":true,
            "expression":"0 0 0 * * ?",
            "expressionTimeZone":"Asia/Shanghai",
            "intervalType":"days",
            "isSkipSelfDepJob":"false",
            "monitorObsPath":false,
            "scanDuration":0,
            "scanInterval":0,
            "startTime":"2025-06-06T00:00:00+08"
        },
        "requireManualConfirmBeforeExecute":false,
        "scheduleOffset":1,
        "type":"CRON"
    },
    "singleNodeJobFlag":true,
    "singleNodeJobType":"com.cloud.datacraft.activity.ExecuteSparkSQL",
    "taskWorkGroupId":"",
    "useCdmCache":false,
    "version":"1"
}

开启审批开关的情况下,创建作业的示例。

POST /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs
{
    "basicConfig": {
        "customFields": {},
        "executeUser": "",
        "instanceTimeout": 0,
        "owner": "test_user",
        "priority": 0
    },
    "directory": "/myDir",
    "logPath": "obs://dlf-test-log",
    "name": "myJob",
    "nodes": [
        {
            "failPolicy": "FAIL_CHILD",
            "location": {
                "x": "-45.5",
                "y": "-134.5"
            },
            "maxExecutionTime": 360,
            "name": "MRS_Hive_SQL",
            "pollingInterval": 20,
            "preNodeName": [],
            "properties": [
                {
                    "name": "scriptName",
                    "value": "test_hive_sql"
                },
                {
                    "name": "connectionName",
                    "value": "mrs_hive_test"
                },
                {
                    "name": "database",
                    "value": "default"
                },
                {
                    "name": "scriptArgs",
                    "value": "test_var=111"
                }
            ],
            "retryInterval": 120,
            "retryTimes": 0,
            "type": "HiveSQL"
        }
    ],
    "processType": "BATCH",
    "schedule": {
        "type": "CRON"
    },
    "targetStatus":"SUBMITTED",
    "approvers": [
        {
            "approverName": "userName1"
        },
        {
            "approverName": "userName2"
        }
    ]
}

响应示例

  • 成功响应

    HTTP状态码 204

  • 失败响应

    HTTP状态码 400

    {
        "error_code":"DLF.30102",
        "error_msg":"The job name already exists."
    }