全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
批量计算

创建作业

更新时间:2017-09-14 22:48:02

create_job

参数说明:

所有类型的参数将被转换为包含属性信息的字典对象。

参数 类型 描述
job_desc JobDescription object, str, dict 作业的简单描述和作业对象中各个任务的描述信息,以及各个任务之间的DAG依赖关系

返回值说明:

create_job 方法将返回一个CreateResponse对象, 以下是 CreateResponse 对象的属性。可以通过 response.Id 的方式获取新任务的ID。

属性 类型 描述
Id str 新任务的任务标识符

e.g.

  1. try:
  2. # Init a Client object.
  3. client = ...
  4. # Refer to JobDescription.
  5. job_desc = JobDescription(...)
  6. job = client.create_job(job_desc)
  7. # Print out the job id.
  8. print (job.Id)
  9. except ClientError, e:
  10. print (e)

(1)JobDescription 类

参数说明:

参数 类型 描述
properties dict, str, JobDescription object 包含作业描述信息的对象

属性说明:

序号 属性 类型 描述
1. Name str 作业名称
2. Description str 作业的简短描述信息
3. Priority int 优先级用一个[0,1000]范围内的整数指定,数值越高表示作业调度时的优先级越高
4. Notification dict 消息通知配置,可以配置MNS服务的Topic和Job相关事件
5. JobFailOnInstanceFail bool Instance失败是否直接使Job失败
6. AutoRelease boolean 表示job运行成功自动会被立即释放(删除)掉,默认为 False
7. Type str 目前仅支持有向无环图(directed acycline graph,DAG)形式描述任务
8. DAG dict, DAG object DAG描述

(2)DAG 类

参数说明:

参数 类型 描述
properties dict, str, DAG object 所有任务的映射以及任务间依赖关系的描述信息

属性说明:

序号 属性 类型 描述
1. Tasks dict 所有任务名与任务描述的映射关系
2. Dependencies dict 所有任务间的相互依赖关系

方法说明 :

序号 方法 描述
1. add_task(task_name, task) 增加一个任务
2. get_task(task_name) 通过任务名获取任务信息
3. delete_task(task_name) 删除某个任务

e.g.

  1. # Refer to the TaskDescription class.
  2. find_task = TaskDescription(...)
  3. task_dag = DAG()
  4. task_dag.add_task(task_name='Find', task=find_task)
  5. task_dag.Dependencies = {}

(3) TaskDescription 类

参数说明:

参数 类型 描述
properties dict, str, TaskDescription object 单个任务的描述信息

属性说明:

序号 属性 类型 描述
1. Parameters dict, Parameters object 任务参数详情
2. InputMapping dict OSS到本地路径的映射
3. OutputMapping dict 本地路径到OSS的映射
4. LogMapping dict 本地日志路径对OSS映射
5. Timeout int 任务超时时间
6. InstanceCount int 任务中实例的个数,正数
7. MaxRetryCount int 最大重试次数,默认为0
8. ClusterId str 集群标识符
9. Mounts dict, Mounts object 实例的网络挂载配置信息,由Mounts描述,目前支持NAS和OSS挂载。
10. AutoCluster dict, AutoCluster object 匿名集群,和集群标示符最多只能指定一个

e.g.

  1. echo_task = TaskDescription()
  2. # Create map task.
  3. # Refer to Parameters documentation.
  4. echo_task.Parameters.Command.CommandLine = "echo Batchcompute Service"
  5. echo_task.Parameters.Command.PackagePath = ""
  6. echo_task.Parameters.StdoutRedirectPath = "oss://xxx/xxx/"
  7. echo_task.Parameters.StderrRedirectPath = "oss://xxx/xxx/"
  8. echo_task.Timeout = 86400 # 1-day
  9. echo_task.InstanceCount = 3
  10. echo_task.MaxRetryCount = 1
  11. # cluster_id is a cluster created in batchcompute service before.
  12. echo_task.ClusterId = cluster_id
  13. # You can now add this task description to a DAG object through its add_task method.

(4) Parameters 类

参数说明:

参数 类型 描述
properties dict, str, Parameters object 任务参数的描述信息

属性说明:

序号 属性 类型 描述
1. Command dict, Command object 用户程序相关命令行参数
2. InputMappingConfig dict, InputMappingConfig object NFS挂载服务配置项
3. StdoutRedirectPath str 标准输出的OSS路径
4. StderrRedirectPath str 标准错误的OSS路径

(5) AutoCluster 类

参数说明:

参数 类型 描述
properties dict, str, AutoCluster object 匿名集群信息

属性说明:

序号 属性 类型 描述
1. ECSImageId str ECS镜像ID,可以使用系统提供的镜像
2. InstanceType str 实例规格,实例类型
3. ResourceType str 资源类型,目前支持: “OnDemand”和“Spot”,默认为“OnDemand”
4. UserData dict 一个KeyValue映射,用户自定义的信息,使用ECS的metaserver获取
5. Configs Configs object 集群的配置信息, 详见4.13 节中ClusterDescription的介绍
6. SpotStrategy str 实例的竞价策略,只有在ResourceType为Spot的情况下有效。取值范围: SpotWithPriceLimit:设置上限价格的竞价实例; SpotAsPriceGo:系统自动出价,最高按量付费价格。
7. SpotPriceLimit float 实例的每小时最高价格(每个实例规格的价格而非每核小时的价格)。支持最大 3 位小数,SpotStrategy 为 SpotWithPriceLimit 生效。

(6) Command 类

参数说明:

参数 类型 描述
properties dict, str, Command object 用户程序相关命令行参数

属性说明:

序号 属性 类型 描述
1. CommandLine str 执行用户程序的命令
2. PackagePath str 用户程序所在OSS路径
3. EnvVars dict 用户程序执行时的环境变量

(7) InputMappingConfig 类

参数说明:

参数 类型 描述
properties dict, str, InputMappingConfig object NFS挂载服务配置项

属性说明:

序号 属性 类型 描述
1. Locale str OSS object挂载到本地时使用的字符集。可选范围包括GBK、GB2312-80、BIG5、ANSI、EUC-JP、EUC-TW、EUC-KR、SHIFT-JIS、KSC5601等
2. Lock bool NFS挂载服务是否支持网络文件锁

(8) Notification 类

参数说明:

参数 类型 描述
properties dict, str, Command object 用户程序相关命令行参数

属性说明:

序号 属性 类型 描述
1. Topic Topic Object 消息Topic

(9) Topic 类

参数说明:

参数 类型 描述
properties dict, str, Command object 用户程序相关命令行参数

属性说明:

序号 属性 类型 描述
1. Endpoint str MNS区域endpoint,格式如: http://${your_user_id}.mns.${region}-internal.aliyuncs.com/ ,请尽量使用内网Endpoint。
2. Name str Topic名称。
3. Events list 事件列表,请填写cluster相关的事件名。

(10) Mounts 类

参数说明:

参数 类型 描述
properties dict, str, Command object 创建集群时的网络磁盘挂载配置信息。

属性说明:

序号 属性 类型 描述
1. Entries array 网络磁盘挂载点信息列表, 由MountPoint描述。
2. Locale str 挂载OSS,NAS存储时语言选项。
3. Lock bool 挂载OSS,NAS存储时文件锁支持选项。
4. NAS dict NAS配置信息。
5. OSS dict OSS配置信息。

(11) MountPoint 类

参数说明:

参数 类型 描述
properties dict, str, Command object 网络挂载点。

属性说明:

序号 属性名称 类型 描述
1. Source str 网络磁盘挂载来源路径,可以是nas://和oss://开头的字符串。
2. Destination str 网络磁盘本地挂载点路径。
3. WriteSupport bool 挂载点是否可写。

(12) NAS 类

参数说明:

参数 类型 描述
properties dict, str, Command object NAS配置信息。

属性说明:

序号 属性名称 类型 描述
1. AccessGroup list 需要将集群实例加入到的NAS访问组。
2. FileSystem list 需要访问的文件系统。

(13) OSS 类

参数说明:

参数 类型 描述
properties dict, str, Command object OSS配置信息。

属性说明:

序号 属性名称 类型 描述
1. AccessKeyId str OSS挂载使用的Access ID。
2. AccessKeySecret str OSS挂载使用的Access Secret。
3. SecurityToken str OSS挂载使用的Security Token。

Notice:

关于Mounts的注意事项

  1. Job级别的Mounts参数会覆盖Cluster级别的配置信息;
  2. Modify Cluster后,需要调用RecreateInstance接口才能使新指定的Mounts配置生效;
  3. 挂载NAS需要以nas://做为source的前缀,否则会出错;
本文导读目录