更新时间:2023-06-15 GMT+08:00

创建作业

功能介绍

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

URI

  • URI格式

    POST /v1/{project_id}/jobs

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

    参数名

    是否必选

    参数类型

    说明

    project_id

    String

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

请求消息

表2 请求Header参数

参数名

是否必选

参数类型

说明

workspace

String

工作空间id。

  • 如果不设置该参数,默认查询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:批处理

basicConfig

BasicConfig数据结构

作业的基本信息,参考表26

表4 Node数据结构说明

参数名

是否必选

参数类型

说明

name

String

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

type

String

节点类型:

  • HiveSQL: 执行Hive SQL脚本
  • SparkSQL: 执行Spark SQL脚本
  • DWSSQL:执行DWS SQL脚本
  • DLISQL:执行DLI SQL脚本
  • Shell :执行Shell SQL脚本
  • CDMJob:执行CDM作业
  • CloudTableManager:CloudTable表管理,创建和删除表。
  • OBSManager:OBS路径管理,包括创建和删除路径。
  • RESTAPI:REST API请求
  • SMN:发送短信或邮件
  • MRSSpark:执行MRS服务的Spark作业
  • MapReduce:执行MRS服务的MapReduce作业
  • DLISpark:执行DLF服务的Spark作业
  • RDS SQL:传递SQL语句到RDS中执行。

location

Location数据结构

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

preNodeName

List<String>

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

conditions

List<Condition>

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

properties

列表数据结构

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

  • Hive SQL:参考表13
  • Spark SQL:参考表14
  • DWS SQL : 参考表15
  • DLI SQL : 参考表16
  • Shell :参考表17
  • CDM Job: 参考表18
  • CloudTableManager :参考表19
  • OBSManager - 参考表20
  • RESTAPI :参考表21
  • SMN :参考表22
  • MRS Spark: 参考表23
  • MapReduce:参考表24
  • DLI Spark :参考表25

pollingInterval

Int

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

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

默认值: 10

maxExecutionTime

Int

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

单位 : 分钟,取值范围[5, 1440]

默认值 : 60

retryTimes

Int

节点失败重试次数。取值范围[0, 5]。0代表不重试

默认值 : 0

retryInterval

Int

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

单位 : 秒

默认值 : 120

failPolicy

String

节点失败策略:

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

    默认值是FAIL。

eventTrigger

Event数据结构

节点事件触发配置,参考表10

cronTrigger

Cron数据结构

节点Cron触发配置,参考表9

表5 Schedule数据结构说明

参数名

是否必选

参数类型

说明

type

String

调度类型。

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

cron

数据结构

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

event

数据结构

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

表6 Param数据结构说明

参数名

是否必选

参数类型

说明

name

String

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

value

String

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

type

String

参数类型

  • variable:变量
  • constants:常量

    默认值 : variable

表7 Location数据结构说明

参数名

是否必选

参数类型

说明

x

Int

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

y

Int

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

表8 condition数据结构说明

参数名

是否必选

参数类型

说明

preNodeName

String

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

expression

String

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

表9 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表达式,格式为"<秒> <分> <时> <天> <月> <星期>",每个字段允许的输入值参考表11

expressionTimeZone

String

Cron表达式对应的时区信息,例如GMT+8。

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

dependPrePeriod

Boolean

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

默认值 : false

dependJobs

DependJobs数据结构

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

表10 Event数据结构说明

参数名

是否必选

参数类型

说明

failPolicy

String

执行失败处理策略:

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

默认值 : SUSPEND

concurrent

int

调度并发数

取值范围:1~128

默认值:1

readPolicy

String

读取策略:

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

默认值 : LAST

表11 Cron表达式字段取值

字段

取值范围

允许的特殊字符

说明

0-59

, - * /

当前版本只允许输入0。

0-59

, - * /

-

0-23

, - * /

-

1-31

, - * ? / L W C

-

1-12

, - * /

当前版本只允许输入*。

星期

1-7

, - * ? / L C #

从星期日开始算起。

表12 DependJobs数据结构说明

参数名

是否必选

参数类型

说明

jobs

List<String>

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

dependPeriod

String

依赖周期:

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

默认值 : SAME_PERIOD

dependFailPolicy

String

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

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

默认值 : FAIL

表13 Hive SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表14 Spark SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表15 DWS SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表16 DLI SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

DLI服务中数据库。

connectionName

String

连接名称

scriptArgs

String

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

表17 Shell节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

connectionName

String

连接名称

arguments

String

Shell脚本参数

表18 CDM Job节点属性说明

参数名

是否必选

参数类型

说明

clusterName

String

集群名称。

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

jobName

String

作业名称。

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

表19 CloudTableManager节点属性说明

参数名

是否必选

参数类型

说明

namespace

String

命名空间

默认值:default

action

String

动作类型:

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

table

String

表名

columnFamily

String

列族

表20 OBSManager节点属性说明

参数名

是否必选

参数类型

说明

action

String

动作类型:

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

path

String

OBS路径

表21 RESTAPI节点属性说明

参数名

是否必选

参数类型

说明

url

String

URL地址

云服务提供的URL地址。

method

String

HTTP方法:

  • GET
  • POST
  • PUT
  • DELETE

headers

String

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

body

String

消息体

表22 SMN节点属性说明

参数名

是否必选

参数类型

说明

topic

String

SMN主题URN

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

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

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

subject

String

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

messageType

String

消息类型

  • NORMAL
  • STRUCTURE
  • TEMPLATE

message

String

发送的消息。

表23 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,多个参数要用竖线隔开。

表24 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路径。

表25 DLI Spark节点属性说明

参数名

是否必选

参数类型

说明

clusterName

String

DLI队列名称

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

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

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

jobName

String

DLI作业名称

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

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

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

resourceType

String

DLI作业运行资源类型,用户自定义时返回CUSTOMIZED。

jobClass

String

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

resourcePath

String

JAR包资源路径

jarArgs

String

主类入口参数

sparkConfig

String

Spark作业运行参数

表26 BasicConfig作业基本信息说明

参数名

是否必选

参数类型

说明

owner

String

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

priority

int

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

executeUser

String

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

instanceTimeout

int

实例超时时间,单位是分钟,取值范围 [5, 1440],默认值是60

customFields

Map<String,String>

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

响应消息