ALIYUN::PAIDLC::Job类型用于创建一个任务到集群中运行。
语法
{
"Type": "ALIYUN::PAIDLC::Job",
"Properties": {
"ThirdpartyLibs": List,
"Options": String,
"Priority": Integer,
"Envs": String,
"JobMaxRunningTimeMinutes": Integer,
"WorkspaceId": String,
"CodeSource": Map,
"UserVpc": Map,
"JobSpecs": List,
"UserCommand": String,
"DataSources": List,
"JobType": String,
"ResourceId": String,
"ThirdpartyLibDir": String,
"DisplayName": String,
"SuccessPolicy": String,
"Settings": Map
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ThirdpartyLibs | List | 否 | 否 | 指定一个第三方Python库和对应版本要求。 | 例如: |
Options | String | 否 | 否 | 本任务的额外配置。 | 通过此参数可以调整挂载的数据源的一些行为。例如任务有挂载OSS类型的数据源时,可以通过将此参数配置为 |
Priority | Integer | 否 | 是 | 任务的优先级。 | 默认值:1。 参数取值范围为1~9。其中:
|
Envs | String | 否 | 否 | 环境变量配置。 | 无 |
JobMaxRunningTimeMinutes | Integer | 否 | 否 | 作业最长运行时长。 | 单位:分钟。 |
WorkspaceId | String | 是 | 否 | 工作空间ID。 | 如何获取工作空间ID,请参见ListWorkspaces - 获取工作空间列表。 |
CodeSource | Map | 否 | 否 | 本任务使用的代码源。 | 任务的节点启动之前,DLC会自动下载代码源中配置好的代码,并Mount到容器的本地目录。更多信息,请参见CodeSource属性。 |
UserVpc | Map | 否 | 否 | 用户VPC配置。 | 更多信息,请参见UserVpc语法。 |
JobSpecs | List | 是 | 否 | 任务运行时的配置。 | 更多信息,请查见JobSpecs属性。 |
UserCommand | String | 是 | 否 | 任务所有节点的启动命令。 | 无 |
DataSources | List | 否 | 否 | 本任务使用的所有数据源列表。 | 按照数据源中的配置Mount到每一个节点所在的容器本地目录上(本地目录由数据源中的配置MountPath指定)。 任务的启动命令中的进程以MountPath为路径直接访问每一个数据源代表的分布式文件系统。 更多信息,请参见DataSources属性。 |
JobType | String | 是 | 否 | 任务类型。 | 大小写敏感。当前支持的任务类型:
|
ResourceId | String | 否 | 否 | 资源组ID。 | 可选参数。
|
ThirdpartyLibDir | String | 否 | 否 | Python三方库(requirements.txt)文件所在文件夹名称 | 每个节点在运行指定的UserCommand之前,PAI-DLC会从指定文件夹取出 |
DisplayName | String | 是 | 否 | 任务的名称。 | 命名格式如下:
|
SuccessPolicy | String | 否 | 否 | 分布式多机任务的成功策略。 | 目前只有Tensorflow的多机任务支持。 取值:
|
Settings | Map | 否 | 否 | 作业额外参数配置。 | 无 |
CodeSource语法
"CodeSource": {
"MountPath": String,
"Commit": String,
"Branch": String,
"CodeSourceId": String
}
CodeSource属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MountPath | String | 否 | 否 | 本任务需要挂载的路径。 | 默认使用数据源中的挂载路径。 |
Commit | String | 否 | 否 | 本任务需要下载的代码Commit ID。 | 默认使用代码源中的Commit ID配置。 |
Branch | String | 否 | 否 | 本任务运行时,引用的代码仓库的分支。 | 默认使用代码源中的配置分支字段。 |
CodeSourceId | String | 是 | 否 | 代码源ID。 | 如何获取代码源ID,请参见ListCodeSources - 获取代码配置列表。 |
UserVpc语法
"UserVpc": {
"VpcId": String,
"SecurityGroupId": String,
"SwitchId": String,
"ExtendedCIDRs": List
}
UserVpc属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
VpcId | String | 是 | 否 | 用户VPC的ID。 | 无 |
SecurityGroupId | String | 否 | 否 | 用户安全组的ID。 | 无 |
SwitchId | String | 否 | 否 | 用户交换机的ID。 | 可选参数。
|
ExtendedCIDRs | List | 否 | 否 | 扩展网段。 | 取值:
|
JobSpecs语法
"JobSpecs": [
{
"PodCount": Integer,
"ImageConfig": Map,
"UseSpotInstance": Boolean,
"Type": String,
"EcsSpec": String,
"ResourceConfig": Map,
"Image": String,
"ExtraPodSpec": Map
}
]
JobSpecs属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
PodCount | Integer | 是 | 否 | 副本数量。 | 无 |
ImageConfig | Map | 否 | 否 | 用于私有镜像信息配置。 | 无 |
UseSpotInstance | Boolean | 是 | 否 | 是否使用竞价实例。 | 取值:
|
Type | String | 是 | 否 | 类型。 | Type与Job Type紧密相关,不同Job Type支持不同的Worker Type。
PyTorchJob 与 XGBoostJob 中的Master是可选的,若Master没有指定,系统会自动把第一个Worker节点当作Master节点。 |
EcsSpec | String | 是 | 否 | Worker的硬件规格。 | 不同规格的价格会有区别。更多信息,请参见PAI-DLC计费说明。 |
ResourceConfig | Map | 否 | 否 | 资源配置。 | 无 |
Image | String | 是 | 否 | 此类Worker的运行镜像地址。 | 可以调用 ListImages获取PAI平台提供的社区和PAI优化过的镜像。也可以指定第三方公开的镜像。 |
ExtraPodSpec | Map | 否 | 否 | 额外的Pod配置。 | 无 |
DataSources语法
"DataSources": [
{
"MountPath": String,
"DataSourceId": String
}
]
DataSources属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MountPath | String | 否 | 否 | 本任务需要挂载的路径。 | 默认使用数据源中的挂载路径。 |
DataSourceId | String | 是 | 否 | 数据源的ID。 | 如何查看数据源ID,请参见ListDatasets - 获取数据集列表。 |
返回值
Fn::GetAtt
JobId:此次调用创建的任务ID。