创建作业
功能介绍
此接口可以创建一个新作业,作业由一个或多个相互依赖的节点构成,支持Hive SQL、CDM Job等节点。DLF有两类型作业:批处理作业和实时作业。
URI
- 参数说明
表1 URI参数说明 参数名
是否必选
参数类型
说明
project_id
是
String
项目编号,获取方法请参见项目ID和帐号ID。
请求消息
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
workspace |
否 |
String |
工作空间id。
|
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
作业名称,只能包含六种字符:英文字母、数字、中文、中划线、下划线和点号,且长度小于等于128个字符。作业名称不能重复。 |
nodes |
是 |
List<Node> |
节点定义,参考表4 |
schedule |
是 |
Schedule数据结构 |
调度配置,参考表5 |
params |
否 |
List<Param> |
作业参数定义,参考表6 |
directory |
否 |
String |
作业在目录树上的路径,必须是已存在的目录,如/dir/a/,默认在根目录/。 |
processType |
是 |
String |
作业类型:
|
basicConfig |
否 |
BasicConfig数据结构 |
作业的基本信息,参考表26 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
节点名称,只能包含六种字符:英文字母、数字、中文、中划线、下划线和点号,且长度小于等于128个字符。同一个作业中节点名称不能重复。 |
type |
是 |
String |
节点类型:
|
location |
是 |
Location数据结构 |
节点在作业画布上的位置,参考表7。 |
preNodeName |
否 |
List<String> |
本节点依赖的前面的节点名称列表。 |
conditions |
否 |
List<Condition> |
节点执行条件,如果配置此参数,本节点是否执行由condition的字段expression所保存的EL表达式计算结果决定,参考表8。 |
properties |
是 |
列表数据结构 |
节点属性,每种节点类型有自己的定义,如下: |
pollingInterval |
否 |
Int |
轮询节点执行结果时间间隔。 单位 : 秒,取值范围[1, 60] 默认值: 10 |
maxExecutionTime |
否 |
Int |
节点最大执行时间,如果节点在最大执行时间内还未执行完成,会把节点置为失败状态。 单位 : 分钟,取值范围[5, 1440] 默认值 : 60 |
retryTimes |
否 |
Int |
节点失败重试次数。取值范围[0, 5]。0代表不重试 默认值 : 0 |
retryInterval |
否 |
Int |
失败重试时间间隔。取值范围[5, 120] 单位 : 秒 默认值 : 120 |
failPolicy |
否 |
String |
节点失败策略: |
eventTrigger |
否 |
Event数据结构 |
节点事件触发配置,参考表10。 |
cronTrigger |
否 |
Cron数据结构 |
节点Cron触发配置,参考表9。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
String |
调度类型。
|
cron |
否 |
数据结构 |
当type为CRON时,配置调度频率、启动时间等信息,参考表9。 |
event |
否 |
数据结构 |
当type为EVENT时,配置事件源等信息,参考表10。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
参数名称,只能包含英文字母、数字、中划线和下划线。不能超过64个字符。 |
value |
是 |
String |
参数值,不能超过1024个字符。 |
type |
否 |
String |
参数类型 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
preNodeName |
是 |
String |
本节点依赖的前一个节点名称 |
expression |
是 |
String |
EL表达式,如果EL表达式的计算结果为true,则触发执行本节点。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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表达式,格式为"<秒> <分> <时> <天> <月> <星期>",每个字段允许的输入值参考表11。 |
expressionTimeZone |
否 |
String |
Cron表达式对应的时区信息,例如GMT+8。 默认值:使用DataArts Studio服务端所在的时区。 |
dependPrePeriod |
否 |
Boolean |
是否依赖本作业上一个运行周期任务的执行结果。 默认值 : false |
dependJobs |
否 |
DependJobs数据结构 |
依赖其它作业配置,参考表12 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
failPolicy |
否 |
String |
执行失败处理策略:
默认值 : SUSPEND |
concurrent |
否 |
int |
调度并发数 取值范围:1~128 默认值:1 |
readPolicy |
否 |
String |
读取策略:
默认值 : LAST |
字段 |
取值范围 |
允许的特殊字符 |
说明 |
---|---|---|---|
秒 |
0-59 |
, - * / |
当前版本只允许输入0。 |
分 |
0-59 |
, - * / |
- |
时 |
0-23 |
, - * / |
- |
天 |
1-31 |
, - * ? / L W C |
- |
月 |
1-12 |
, - * / |
当前版本只允许输入*。 |
星期 |
1-7 |
, - * ? / L C # |
从星期日开始算起。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
jobs |
是 |
List<String> |
依赖的作业名称列表,必须依赖已存在的作业。 |
dependPeriod |
否 |
String |
依赖周期:
默认值 : SAME_PERIOD |
dependFailPolicy |
否 |
String |
依赖作业任务执行失败处理策略:
默认值 : FAIL |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
scriptName |
是 |
String |
脚本名称 |
database |
否 |
String |
数据库名称 MRS Hive中的数据库,默认default。 |
connectionName |
否 |
String |
连接名称 |
scriptArgs |
否 |
String |
脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
scriptName |
是 |
String |
脚本名称 |
database |
否 |
String |
数据库名称 MRS Spark SQL中的数据库,默认default。 |
connectionName |
否 |
String |
连接名称 |
scriptArgs |
否 |
String |
脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
scriptName |
是 |
String |
脚本名称 |
database |
否 |
String |
数据库名称 DWS服务中的数据库,默认postgres。 |
connectionName |
否 |
String |
连接名称 |
scriptArgs |
否 |
String |
脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
scriptName |
是 |
String |
脚本名称 |
database |
否 |
String |
数据库名称 DLI服务中数据库。 |
connectionName |
否 |
String |
连接名称 |
scriptArgs |
否 |
String |
脚本参数,key、value形式,多个参数间用\n分隔,例如key1=value1\nkey2=value2 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
scriptName |
是 |
String |
脚本名称 |
connectionName |
是 |
String |
连接名称 |
arguments |
否 |
String |
Shell脚本参数 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
clusterName |
是 |
String |
集群名称。 通过DataArts Studio管理控制台 > 数据集成,在批量数据迁移集群列表可以获取到集群名称。 |
jobName |
是 |
String |
作业名称。 通过DataArts Studio管理控制台 > 数据集成,在批量数据迁移集群列表单击对应的集群管理,进入后在作业管理中获取作业名称。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
namespace |
否 |
String |
命名空间 默认值:default |
action |
是 |
String |
动作类型:
|
table |
否 |
String |
表名 |
columnFamily |
否 |
String |
列族 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
action |
是 |
String |
动作类型:
|
path |
是 |
String |
OBS路径 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
url |
是 |
String |
URL地址 云服务提供的URL地址。 |
method |
是 |
String |
HTTP方法:
|
headers |
否 |
String |
HTTP消息头,每个消息头的格式为<消息头名称>=<值>,多个消息头之间使用换行符分割。 |
body |
否 |
String |
消息体 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
topic |
是 |
String |
SMN主题URN 通过SMN管理控制台获取SMN主题URN:
在主题列表中可以获取到SMN主题URN。 |
subject |
是 |
String |
消息标题,给邮箱订阅者发送邮件时作为邮件主题。 |
messageType |
是 |
String |
消息类型
|
message |
是 |
String |
发送的消息。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
clusterName |
是 |
String |
MRS集群名称 通过MRS管理控制台获取集群名称:
在现有列表中可以获取到集群名称。 |
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,多个参数要用竖线隔开。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
clusterName |
是 |
String |
MRS集群名称 通过MRS管理控制台获取集群名称:
在现有列表中可以获取到集群名称。 |
jobName |
是 |
String |
MRS作业名称 用户自定义。 |
resourcePath |
是 |
String |
资源路径 |
parameters |
是 |
String |
MapReduce作业参数 |
input |
是 |
String |
输入路径 MapReduce作业输入数据路径,可以为HDFS或者是OBS路径。 |
output |
是 |
String |
输出路径 MapReduce作业输出数据路径,可以为HDFS或者是OBS路径。 |
参数名 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
clusterName |
是 |
String |
DLI队列名称 通过DLI管理控制台获取队列名称:
在队列管理列表中可以获取到队列名称。 |
jobName |
是 |
String |
DLI作业名称 通过DLI管理控制台获取作业名称:
在作业管理列表中可以获取到作业名称。 |
resourceType |
否 |
String |
DLI作业运行资源类型,用户自定义时返回CUSTOMIZED。 |
jobClass |
否 |
String |
主类名称。当应用程序类型为“.jar”时,主类名称不能为空。 |
resourcePath |
是 |
String |
JAR包资源路径 |
jarArgs |
否 |
String |
主类入口参数 |
sparkConfig |
否 |
String |
Spark作业运行参数 |
响应消息
无