文档首页 > > SDK参考> 使用SDK(JAVA)> 作业管理> 新建SQL作业

新建SQL作业

分享
更新时间:2019/09/10 GMT+08:00

样例代码

用户可以使用该接口新建流式SQL作业并提交到CS服务,用户通过POST方式提交流式SQL作业,请求体为JSON格式。示例代码如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import com.huaweicloud.cs.java.v1.client.ApiException;
import com.huaweicloud.cs.java.v1.JobApi;


JobApi apiInstance = new JobApi(apiClient);//apiClient为初始化CS API客户端时创建
String xProjectId = "xProjectId_example"; // String | project id, 用于不同project取token.
SubmitSqlJobRequest body = new SubmitSqlJobRequest(); // SubmitSqlJobRequest | JSON格式的请求体
try {
    JobStatusResponse result = apiInstance.submitSqlJob(xProjectId body);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling JobApi#submitSqlJob");
    System.err.println(e.getResponseBody());
    e.printStackTrace();
}

参数说明

表1 参数说明表

参数名

是否必选

参数类型

说明

xProjectId

String

project id,用于不同project取token。

body

Array of objects

JSON格式的请求体。参数类型说明请参见表2

表2 SubmitSqlJobRequest内的参数说明表

参数名

是否必选

参数类型

说明

name

String

作业名称。

desc

String

作业描述。

templateId

Integer

作业模板ID。

  • 如果template_id和sql_body都不为空,优先sql_body;
  • 如果template_id不空,sql_body为空,以template_id内容填充sql_body。

clusterId

Integer

独享集群资源ID, 前提是当前用户有该独享资源的使用权限。

sqlBody

String

Stream SQL语句, 至少包含source, query, sink三个部分。

runMode

RunModeEnum

作业运行模式,共享或者独享或者边缘节点。包括以下三种模式:

  • shared_cluster
  • exclusive_cluster
  • edge_node

spuNumber

Integer

用户为作业选择的SPU数量。

  • 最小值:2
  • 最大值:400

parallelNumber

Integer

用户设置的作业并行数。

  • 最小值:1
  • 最大值:2000

checkpointEnabled

Boolean

是否开启作业自动快照功能, “true”表示“开启”,“false”表示“关闭” , 默认值为“false”。

checkpointMode

CheckpointModeEnum

快照模式, 包括以下两种模式

  • exactly_once
  • at_least_once

checkpointInterval

Integer

快照时间间隔, 单位为秒。默认值为“10”。

obsBucket

String

checkpoint_enabled==true是, 用户授权保存快照的OBS路径。

logEnabled

Boolean

是否开启作业的日志上传到用户的OBS功能。默认值为“false”。

smnTopic

String

当作业异常时,向该SMN主题推送告警信息。

restartWhenException

Boolean

是否开启异常重启功能。默认值为“false”。

idleStateRetention

Integer

空闲状态最长保留时间,超过该时间没有进行更新的中间状态会被删除,单位为秒。默认值为“3600”。

jobType

String

作业类型。包括以下两种类型。

  • run_mode为edge_node时, 作业类型须为flink_sql_edge_job,
  • run_mode为shared_cluster和exclusive_cluster时, 作业类型须为flink_sql_job。

edgeGroupIds

String

边缘计算组ID列表, 多个ID以逗号分隔。

tags

String

作业标签。

sysEnterpriseProjectId

String

作业所属的企业项目ID。

udfJarUrl

String

sql作业udf jar所在的obs地址。

dirtyDataStrategy

String

作业脏数据策略。

  • “2:obs-wan-wulan3/jobs”:保存
  • “1”:抛出异常
  • “0”:忽略
表3 JobStatusResponse内的参数说明

参数名

是否必选

参数类型

说明

messageId

String

消息类型ID。

message

String

消息内容。

currentTime

Long

当前时间,毫秒数。

payload

JobStatusInfo

参数类型说明请参见表3

表4 JobStatusInfo内的参数说明

参数名

是否必选

参数类型

说明

jobId

Long

作业ID。

statusName

String

当前状态名称。

statusDesc

String

当前状态描述。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问