DataArts Studio串联ModelArts作业
0.概要介绍
数据治理中心DataArts Studio(原DGC)使用指南:
https://support.huaweicloud.com/usermanual-dgc/dgc_01_0007.html
数据治理中心DataArts Studio(原DGC)用于编排任务,串联大数据与AI作业。如下图所示为一个简单的串联作业案例:
1. 准备工作
1.1 创建DataArts作业
开始界面如下,点击“数据开发”进入作业编排界面。
点击新建作业如下:
选择批处理并创建:
1.2 选择节点
节点说明:
https://support.huaweicloud.com/usermanual-dgc/dgc_01_0442.html
数据湖探索DLI使用说明:
https://support.huaweicloud.com/dli/
AI开发平台ModelArts使用说明:
https://support.huaweicloud.com/modelarts/
进入作业编辑作业,ModelArts作业选用Rest Client节点,DLI相关作业选用DLI相关节点,其余大数据侧节点同理。
1.3 配置作业参数
多次执行作业时,需要通过时间戳区分作业名称和作业的存储位置,可在作业参数配置中进行设置:
例如参数cur_time
的值为如下表达式,返回参数20220811-180000,在节点中配置${cur_time}
的地方,则自动替换为20220811-180000
。
#{DateUtil.format(DateUtil.addDays(Job.planTime,0),"yyyyMMdd-HHmmss")}
EL表达式使用说明:
https://support.huaweicloud.com/usermanual-dgc/dgc_01_0494.html
2. 创建DLI节点
训练作业需要从对象存储系统OBS中读取训练数据,因此需要在DLI作业中将数据写入OBS,参考DLI说明文档,例如:
https://support.huaweicloud.com/sqlreference-dli/dli_08_0076.html
3. 创建ModelArts作业节点
3.1 Rest Client节点使用
执行ModelArts作业或者查询ModelArts作业,通过Rest Client节点调用rest请求的方式实现。点击节点进行编辑,代理集群名称点加号选择,接口认证方式选择“华为IAM认证”:
URL地址与HTTP方法参考《ModelArts快速获取Rest接口json结构》:
https://bbs.huaweicloud.com/blogs/238421
3.1.1 获取URL地址与HTTP方法
在ModelArts创建训练作业时,点击F12,得到如下界面,以创建训练作业为例,点击training-jobs,点击Headers,得到region和project_id信息,HTTP方法对应图中Request Method显示的POST:
因此URL地址为如下格式,将region与project_id填入:
https://modelarts.${region}.myhuaweicloud.com/v2/${project_id}/training-jobs
3.1.2 获取请求消息体
在刚才的界面点击Payload,点击view source,复制请求体。
3.2 配置节点参数
3.2.1 创建训练作业
点击节点填写如下参数:
参数名 | 参数值 |
---|---|
节点名称 | 创建训练作业 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v2/${project_id}/training-jobs |
HTTP方法 | POST |
请求消息体 | 如下图所示 |
响应消息体解析为传递参数定义 | job_id=metadata.id |
如图所示为请求消息体填写示例,具体内容请参考3.1.2部分内容,获取创建训练作业的确切参数,再在基础上添加需要统一配置的作业参数,例如${cur_time}。
3.2.2 查询训练作业状态
参数名 | 参数值 |
---|---|
节点名称 | 查询训练作业状态 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v2/${project_id}/training-jobs/${job_id} |
HTTP方法 | GET |
是否需要判断返回值 | YES |
返回值字段路径 | status.phase |
请求成功标志位 | Completed |
请求失败标志位 | Failed |
请求间隔时间(秒) | 30 |
如图所示,选择“是否需要判断返回值”为YES后,自动出现以下参数框:
3.2.3 导入AI应用
参数名 | 参数值 |
---|---|
节点名称 | 导入AI应用 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v1/${project_id}/models |
HTTP方法 | POST |
请求消息体 | 如下图所示 |
响应消息体解析为传递参数定义 | model_id=model_id |
请求消息体示例,具体配置根据F12获取并修改:
3.2.4 查询AI应用状态
参数名 | 参数值 |
---|---|
节点名称 | 查询AI应用状态 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v2/${project_id}/models/${model_id} |
HTTP方法 | GET |
是否需要判断返回值 | YES |
返回值字段路径 | model_status |
请求成功标志位 | published |
请求间隔时间(秒) | 30 |
3.2.5 部署推理服务
- 若服务不存在,需要部署新推理服务
参数名 | 参数值 |
---|---|
节点名称 | 部署推理服务 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v1/${project_id}/services |
HTTP方法 | POST |
请求消息体 | 如下图所示 |
响应消息体解析为传递参数定义 | service_id=service_id |
请求消息体示例,具体配置根据F12获取并修改:
- 若服务已存在,需要更新推理服务
对已有推理服务进行修改时,点击F12,根据已有服务的service_id,获取rest请求体:
下列参数中的service_id需要填写固定值,而不是通过前面的节点获取。
参数名 | 参数值 |
---|---|
节点名称 | 更新推理服务 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v1/${project_id}/services/${service_id} |
HTTP方法 | PUT |
请求消息体 | 如下图所示 |
请求消息体示例,具体配置根据F12获取并修改:
3.2.6 查询服务状态
参数名 | 参数值 |
---|---|
节点名称 | 查询服务状态 |
URL地址 | https://modelarts.${region}.myhuaweicloud.com/v2/${project_id}/services/${service_id} |
HTTP方法 | GET |
是否需要判断返回值 | YES |
返回值字段路径 | status |
请求成功标志位 | running |
请求间隔时间(秒) | 30 |
4. 测试运行
节点和作业参数配置完毕后,点击测试运行:
测试运行立即开始,可查看运行日志:
5.周期性调度
设置调度配置后,在指定时间,会自动以最新提交版本的状态运行作业。
5.1 提交版本
如图提交新版本:
5.2 调度配置
如图选择调度配置,选择周期性调度,则从即日起每天20点执行一次作业:
5.3 执行调度
点击执行调度后出现弹窗,点击“前往运维中心”:
可查看各节点执行状态:
6. 拓展配置
6.1 IF语句控制节点运行
右键点击节点前的箭头,选择设置条件:
IF语句使用说明:
https://support.huaweicloud.com/usermanual-dgc/dgc_01_0583.html
例如根据推理服务是否存在,来选用不同的节点。以下表达式表示如果服务存在,则运行后续节点。
#{${service_exists} == "true" ? "true" : "false"}
6.2 其他节点
若需要查询ModelArts上训练作业状态,模型信息等可通过如下API,相应设置Rest Client节点进行查询。
ModelArts作业API使用说明:
https://support.huaweicloud.com/api-modelarts/modelarts_03_0002.html
- 点赞
- 收藏
- 关注作者
评论(0)