阅读676 返回首页    go 阿里云


创建(提交)作业__SDK接口说明_Java版SDK_批量计算-阿里云

创建(提交)作业

createJob

方法说明:

创建并提交一个作业到BatchCompute。

参数说明:

参数 类型 是否必需 说明
jobDescription JobDescription Job对象中有各个任务的描述信息,和任务的DAG依赖。

下面的 JobDescription ,TaskDag,TaskDescription以及ResourceDescription的包名都是: com.aliyuncs.batchcompute.pojo.v20151111

(1) JobDescription的属性(都有getter和setter方法)

属性 类型 是否必需 说明
name String 作业名称。
priority int 优先级用一个[0,1000]范围内的整数指定。数值越高表示作业调度时的优先级越高
description String 作业的简短描述信息。
dag DAG Job对象中有各个任务的描述信息,以及各个任务之间的DAG依赖。
jobFailOnInstanceFail boolean 表示Instance失败会否导致Job失败,一般取值为true。
autoRelease boolean 表示job运行成功自动会被立即释放(删除)掉。默认为false。
type String 作业类型,目前仅支持有向无环图(directed acycline graph,DAG)形式描述任务。取值: “DAG”
notification Notification 消息通知配置,可以配置MNS服务的Topic和Job相关事件.

(2) DAG 的属性(都有getter和setter方法)

属性 类型 是否必需 说明
tasks Map<String, TaskDescription> 所有任务名与任务描述的映射信息。
dependencies Map<String, List<String>> 任务之间的依赖关系, 也是一个map,其中key为 源任务名称,value为 目标任务名称 列表,可以描述一对多的顺序关系 (详见示例)。

(3) TaskDescription的属性(都有getter和setter方法)

属性 类型 是否必需 描述
taskName String 任务名称。
clusterId String 集群ID。该参数和autoCluster(匿名集群)参数只能选一个。
autoCluster AutoCluster 匿名集群,该参数和集群ID只能选一个。
parameters Paramters 程序运行相关配置
inputMapping Map<String,String> 用来描述OSS上路径同本地挂载位置的映射关系。 所有挂载位置,必须以’/’结尾,可以位于相同的bucket,也可以位于不同的bucket,但是必须归属同一个用户。挂载位置在windows下是一个盘符,在linux下是一个文件夹。 key为oss路径,value为挂载路径,如:”D:”,或“/home/admin/dist1”
outMapping Map<String,String> 本地路径对OSS映射,Key为本地路径,value为OSS路径。
logMapping Map<String,String> 本地日志路径对OSS映射,Key为本地路径,value为OSS路径。
instanceCount int 任务中实例的个数,正数。
timeout int 设置任务中的一个实例的最长执行时间(超时时间),范围为[1,86400],单位为秒。
maxRetryCount int 最大重试次数,默认为0。

(4) AutoCluster的属性(都有getter和setter方法)

属性 类型 是否必需 描述
ECSImageId String 支持ECS镜像ID和注册的镜像ID。
instanceType String 实例类型。不同region支持的实例类型不一样。
resourceType String 资源类型,目前只支持且默认为:”OnDemand”。
userData Map<String, String> 用户数据
configs Configs 集群的一些配置信息,比如实例的磁盘配置,由Configs描述。

(5) Parameters的属性(都有getter和setter方法)

属性 类型 是否必需 描述
command Command 用户程序相关命令行参数。
inputMappingConfig InputMappingConfig NFS挂载服务配置项。
stdoutRedirectPath String 标准输出将被上传到这里, 应该是一个oss路径。
stderrRedirectPath String 标准错误将被上传到这里, 应该是一个oss路径。

(6) Command 的属性(都有getter和setter方法)

属性 类型 是否必需 描述
commandLine String 执行用户程序的命令。
PackagePath String 用户程序所在OSS路径。
EnvVars Map<String,String> 用户程序开始执行时,需要设置的环境变量。

(7) InputMappingConfig的属性(都有getter和setter方法)

属性 类型 是否必需 描述
lock Boolean 布尔型变量,用来确定NFS挂载服务是否支持网络文件锁。如果设置为true,则会开启网络锁服务,为文件锁提供后端支持。 如果设置为false,则会关闭文件锁服务,可以提高文件访问的性能。但是文件锁的支持仅在NFS客户端,不会同步到服务端,对于有些操作系统,显示的文件锁方法可能会失败。
locale String OSS上的Object统一采用UTF-8编码命名,这个参数可以决定挂载后使用的本地字符集。 可选范围包括GBK、GB2312-80、BIG5、ANSI、EUC-JP、EUC-TW、EUC-KR、SHIFT-JIS、KSC5601等。

(8) Notification的属性(都有getter和setter方法)

属性 类型 是否必需 描述
topic Topic 消息Topic

(9) Topic 的属性(都有getter和setter方法)

属性 类型 是否必需 描述
endpoint String MNS区域endpoint,格式如: https://${your_user_id}.mns.${region}-internal.aliyuncs.com/ ,请尽量使用内网Endpoint。
name String Topic名称。
events List<String> 事件列表,请填写job相关的事件。

返回值说明:

  • 创建成功后返回一个CreateJobResponse实例,可以通过 response.getJobId() 获取创建的作业ID。
类型 说明
CreateJobResponse 可以获取创建成功的jobId。

CreateJobResponse的包名为:com.aliyuncs.batchcompute.model.v20151111,下面的其他Response都是在这个包下面。

  • 创建失败后,抛出异常: ClientException。

代码示例:

  1. try{
  2. CreateJobResponse response = client.createJob(jobDescription);
  3. String jobId = response.getJobId();
  4. //创建成功
  5. }catch(ClientException e){
  6. e.printStackTrace();
  7. //创建失败
  8. }

最后更新:2016-12-17 16:45:25

  上一篇:go 构造方法__SDK接口说明_Java版SDK_批量计算-阿里云
  下一篇:go 获取作业信息__SDK接口说明_Java版SDK_批量计算-阿里云