更新时间:2024-06-06 GMT+08:00

查询作业详情

功能介绍

此接口可以查询指定DLF作业定义。

URI

  • URI格式

    GET /v1/{project_id}/jobs/{job_name}?version={version}

  • 参数说明

    参数名

    是否必选

    参数类型

    说明

    project_id

    String

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

    job_name

    String

    作业名称。

    version

    integer

    作业版本号,若传入版本号,则查询指定版本号的作业;若不传入,则查询最新的版本作业。

请求参数

表1 请求Header参数

参数名

是否必选

参数类型

说明

workspace

String

工作空间id。

  • 如果不设置该参数,默认查询default工作空间下的数据。
  • 如果需要查询其他工作空间的数据,需要带上该消息头。

响应参数

表2 参数说明

参数名

是否必选

参数类型

说明

name

String

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

nodes

List<Node>

节点定义,参考表3

schedule

Schedule数据结构

调度配置,参考表4

params

List<Param>

作业参数定义,参考表5

directory

String

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

processType

String

作业类型:

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

id

Long

作业Id。用户查询作业时使用。

createTime

Long

作业创建时间。

downstreamJobs

String

下游依赖当前作业的作业名称。

lastUpdateUser

String

作业最后修改人。

logPath

String

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

basicConfig

BasicConfig数据结构

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

description

String

作业描述信息

cleanoverdueDays

integer

设置作业的最大超时时间

cleanWaitingJob

String

清除等待的作业

emptyRunningJob

String

是否空跑

version

String

作业版本信息

表3 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路径管理,包括创建和删除路径。
  • RestClient:REST API请求
  • SMN:发送短信或邮件
  • MRSSpark:执行MRS服务的Spark作业
  • MapReduce:执行MRS服务的MapReduce作业
  • MRSFlinkJob: 执行MRS服务的FlinkJob作业。
  • MRSHetuEngine: 执行MRS服务的HetuEngine作业。
  • DLISpark:执行DLF服务的Spark作业
  • RDSSQL:传递SQL语句到RDS中执行。

location

Location数据结构

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

preNodeName

List<String>

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

conditions

List<Condition>

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

properties

List<Property>

节点属性,参考表13

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

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

pollingInterval

Int

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

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

默认值: 10

execTimeOutRetry

String

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

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触发配置,参考表8

表4 Schedule数据结构说明

参数名

是否必选

参数类型

说明

type

String

调度类型。

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

cron

数据结构

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

event

数据结构

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

表5 Param数据结构说明

参数名

是否必选

参数类型

说明

name

String

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

value

String

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

type

String

参数类型

  • variable:变量
  • constants:常量

    默认值 : variable

表6 Location数据结构说明

参数名

是否必选

参数类型

说明

x

Int

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

y

Int

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

表7 condition数据结构说明

参数名

是否必选

参数类型

说明

preNodeName

String

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

expression

String

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

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

expressionTimeZone

String

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

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

period

String

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

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

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

dependPrePeriod

Boolean

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

默认值 : false

dependJob

DependJob数据结构

依赖其它作业配置,参考表12 DependJob数据结构说明

concurrent

Integer

支持并发执行数量

表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

DependJob数据结构

依赖其它作业配置,参考表12 DependJob数据结构说明

表10 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

表11 Cron表达式字段取值

字段

取值范围

允许的特殊字符

说明

0-59

, - * /

当前版本只允许输入0。

0-59

, - * /

-

0-23

, - * /

-

1-31

, - * ? / L W C

-

1-12

, - * /

当前版本只允许输入*。

星期

1-7

, - * ? / L C #

从星期日开始算起。

表12 DependJob数据结构说明

参数名

是否必选

参数类型

说明

jobs

List<String>

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

dependPeriod

String

依赖周期:

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

默认值 : SAME_PERIOD

dependFailPolicy

String

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

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

默认值 : FAIL

sameWorkSpaceJobs

DependWorkspaceJob数据结构

依赖本工作空间作业列表,请参考表31

otherWorkSpaceJobs

DependWorkspaceJob数据结构

依赖其他工作空间作业列表,请参考表31

表13 Property属性说明

参数名

是否必选

参数类型

说明

name

String

属性名称

value

String

属性值

表14 Hive SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表15 Spark SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表16 DWS SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

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

connectionName

String

连接名称

scriptArgs

String

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

表17 DLI SQL节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

database

String

数据库名称

DLI服务中数据库。

connectionName

String

连接名称

scriptArgs

String

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

表18 Shell节点属性说明

参数名

是否必选

参数类型

说明

scriptName

String

脚本名称

connectionName

String

连接名称

arguments

String

Shell脚本参数

表19 CDM Job节点属性说明

参数名

是否必选

参数类型

说明

clusterName

String

集群名称。

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

jobName

String

作业名称。

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

表20 DISTransferTask节点属性说明

参数名

是否必选

参数类型

说明

streamName

String

DIS通道名称

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

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

destinationType

String

转储目标:

  • CloudTable
  • OBS

duplicatePolicy

String

转储任务重名处理策略:

  • OVERWRITE : 覆盖
  • IGNORE :忽略

configuration

数据结构

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

表21 CloudTableManager节点属性说明

参数名

是否必选

参数类型

说明

namespace

String

命名空间

默认值:default

action

String

动作类型:

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

table

String

表名

columnFamily

String

列族

表22 OBSManager节点属性说明

参数名

是否必选

参数类型

说明

action

String

动作类型:

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

path

String

OBS路径

表23 RESTAPI节点属性说明

参数名

是否必选

参数类型

说明

url

String

URL地址

云服务提供的URL地址。

method

String

HTTP方法:

  • GET
  • POST
  • PUT
  • DELETE

headers

String

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

body

String

消息体

表24 SMN节点属性说明

参数名

是否必选

参数类型

说明

topic

String

SMN主题URN

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

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

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

subject

String

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

messageType

String

消息类型

  • NORMAL
  • STRUCTURE
  • TEMPLATE

message

String

发送的消息。

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

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

表27 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作业运行参数

表28 BasicConfig作业基本信息说明

参数名

是否必选

参数类型

说明

owner

String

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

isIgnoreWaiting

integer

实例超时是否忽略等待时间, 取值范围为0和1, 0:表示实例超时不忽略等待时间1:表示实例超时忽略等待时间

priority

int

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

executeUser

String

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

instanceTimeout

int

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

customFields

Map<String,String>

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

agency

String

代理名称

tags

List<String>

作业标签列表

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

表30 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服务所需资源队列名称。

表31 DependWorkSpaceJob数据结构说明

参数名

是否必选

参数类型

说明

workSpace

String

工作空间名称。

jobName

String

作业名称。

dependOnLastPeriod

Boolean

是否依赖上游作业最近一个实例。

请求示例

查询作业myJob的详情。
GET /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/myJob

响应示例

调用查询作业详情接口时,如果在参数中带上dependencies=true,则会返回下游依赖当前作业的作业,只返回第一层。

GET /v1/b384b9e9ab9b4ee8994c8633aabc9505/jobs/xxx_1?dependencies=true
xxx_1表示作业名。
响应消息会返回下游依赖当前作业的作业,如下示例中的响应结果消息字段downstreamJobs。
  • 成功响应
    {
        "basicConfig": {
            "agency": "",
            "customFields": {},
            "executeUser": "",
            "instanceTimeout": 0,
            "owner": "test_user",
            "priority": 0,
            "tags": {}
        },
        "cleanoverdueDays": "60",
        "cleanWaitingJob": "cleanup",
        "createTime": "1695642745000",
        "downstreamJobs": [
            {
              "jobId": "163240", 
              "jobName": "xxx_2",
              "workSpace": "workspace_name"
            }
        ],
        "description": "",
        "emptyRunningJob": "0",
        "id": 608627,
        "lastUpdateUser": "test_user",
        "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"
        }
    }
  • 失败响应

    HTTP状态码 400

    {
        "error_code":"DLF.0100",
        "error_msg":"The job does not exists."
    }