新建Flink Jar作业
功能介绍
该API用于创建用户自定义的作业,目前支持jar格式,运行在独享队列中。
URI
- URI格式
- 参数说明
表1 URI参数说明 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
作业名称。长度限制:1-57个字符。 |
desc |
否 |
String |
作业描述。长度限制:0-512个字符。 |
queue_name |
否 |
String |
队列名称。长度限制:0-128个字符。 |
cu_number |
否 |
Integer |
用户为作业选择的CU数量。 |
manager_cu_number |
否 |
Integer |
用户为作业选择的管理节点CU数量,对应为flink jobmanager数量。默认值为“1”。 |
parallel_number |
否 |
Integer |
用户为作业选择的并发量。 |
log_enabled |
否 |
Boolean |
是否开启作业日志。
|
obs_bucket |
否 |
String |
当“log_enabled”为“true”时, 用户授权保存作业日志的OBS桶名。 |
smn_topic |
否 |
String |
当作业异常时,向该SMN主题推送告警信息。 |
main_class |
否 |
String |
作业入口类。 |
entrypoint_args |
否 |
String |
作业入口类参数,多个参数之间空格分隔。 |
restart_when_exception |
否 |
Boolean |
是否开启异常重启功能,默认值为“false”。 |
entrypoint |
否 |
String |
用户已上传到DLI资源管理系统的程序包名,用户自定义作业主类所在的jar包。 |
dependency_jars |
否 |
Array of Strings |
用户已上传到DLI资源管理系统的程序包名,用户自定义作业的其他依赖包。 示例“myGroup/test.jar,myGroup/test1.jar”。 |
dependency_files |
否 |
Array of Strings |
用户已上传到DLI资源管理系统的资源包名,用户自定义作业的依赖文件。 示例:"myGroup/test.cvs,myGroup/test1.csv"。 通过在应用程序中添加以下内容可访问对应的依赖文件。其中,“fileName”为需要访问的文件名,“ClassName”为需要访问该文件的类名。 ClassName.class.getClassLoader().getResource("userData/fileName") |
tm_cus |
否 |
Integer |
每个taskmanager的CU数,默认值为“1”。 |
tm_slot_num |
否 |
Integer |
每个taskmanager的slot数,默认值为“(parallel_number*tm_cus)/(cu_number-manager_cu_number)”。 |
feature |
否 |
String |
作业特性。表示用户作业使用的Flink镜像类型。
|
flink_version |
否 |
String |
Flink版本。当用户设置“feature”为“basic”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用的DLI基础Flink镜像的版本。 |
image |
否 |
String |
自定义镜像。格式为:组织名/镜像名:镜像版本。 当用户设置“feature”为“custom”时,该参数生效。用户可通过与“feature”参数配合使用,指定作业运行使用自定义的Flink镜像。关于如何使用自定义镜像,请参考《数据湖探索用户指南》。 |
resume_checkpoint |
否 |
Boolean |
异常重启是否从checkpoint恢复。 |
resume_max_num |
否 |
Integer |
异常重试最大次数,单位:次/小时。取值范围:-1或大于0。默认值为“-1”,表示无限次数。 |
checkpoint_path |
否 |
String |
用户Jar中checkpoint的储存地址,不同作业路径需要保持不同。 |
tags |
否 |
Array of Objects |
Flink jar作业的标签。具体请参考表3。 |
runtime_config |
否 |
String |
Flink作业运行时自定义优化参数。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
否 |
String |
执行请求是否成功。“true”表示请求执行成功。 |
message |
否 |
String |
消息内容。 |
job |
否 |
Object |
作业状态信息。具体请参考表5。 |
请求示例
新建名为test的Flink Jar作业,并设置作业执行在testQueue上,设置作业运行所使用的CU数、开启作业日志。
{ "name": "test", "desc": "job for test", "queue_name": "testQueue", "manager_cu_number": 1, "cu_number": 2, "parallel_number": 1, "tm_cus": 1, "tm_slot_num": 1, "log_enabled": true, "obs_bucket": "bucketName", "smn_topic": "topic", "main_class": "org.apache.flink.examples.streaming.JavaQueueStream", "restart_when_exception": false, "entrypoint": "javaQueueStream.jar", "entrypoint_args":"-windowSize 2000 -rate 3", "dependency_jars": [ "myGroup/test.jar", "myGroup/test1.jar" ], "dependency_files": [ "myGroup/test.csv", "myGroup/test1.csv" ] }
响应示例
{ "is_success": true, "message": "新建flink作业成功", "job": { "job_id": 138, "status_name": "job_init", "status_desc": "" } }
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。