676
阿里云
创建(提交)作业__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方法)
返回值说明:
- 创建成功后返回一个CreateJobResponse实例,可以通过 response.getJobId() 获取创建的作业ID。
类型 |
说明 |
---|
CreateJobResponse |
可以获取创建成功的jobId。 |
CreateJobResponse的包名为:com.aliyuncs.batchcompute.model.v20151111,下面的其他Response都是在这个包下面。
- 创建失败后,抛出异常: ClientException。
代码示例:
try{
CreateJobResponse response = client.createJob(jobDescription);
String jobId = response.getJobId();
//创建成功
}catch(ClientException e){
e.printStackTrace();
//创建失败
}
最后更新:2016-12-17 16:45:25