全部产品
Search
文档中心

人工智能平台 PAI:PAI Studio周期性调度任务迁移至Designer

更新时间:Jun 23, 2026

PAI可视化建模1.0(Studio)即将下线。如果您已在DataWorks中部署了Studio的周期性调度任务,需要将其迁移至PAI Designer。迁移采用并行运行策略:先修改Designer输出表名避免冲突,新旧任务同时运行验证稳定后,再下线Studio。

说明

本文仅适用于已在DataWorks中部署为周期性调度任务的Studio实验。尚未部署到DataWorks的实验,仅需完成实验迁移即可。具体操作,请参见迁移Studio实验至Designer

说明

本文以DataWorks标准模式为例。如您使用简单模式,提交节点后即自动发布,无需单独进入发布中心。

前提条件

  • 已开通PAI Designer服务,且PAI工作空间与DataWorks工作空间处于同一地域。

  • DataWorks工作空间已关联PAI工作空间。具体操作,请参见使用DataWorks离线调度Designer工作流

  • 当前Studio实验可正常运行,且DataWorks中对应的周期调度节点状态正常。

  • 实验中使用的算法组件在Designer中有对应支持。不支持的组件类型请参见迁移Studio实验至Designer中的兼容性说明。

  • 已梳理当前Studio调度节点在DataWorks中的上下游依赖关系。

迁移流程总览

迁移分为四个阶段:

  1. 迁移实验并修改输出表名:将Studio实验迁移至Designer,并修改输出表名以避免冲突。

  2. 部署Designer节点到DataWorks:在DataWorks中创建PAI Designer调度节点并配置调度属性。

  3. 修改下游节点依赖并并行运行:将下游节点切换到新表,新旧任务并行运行验证。

  4. 下线Studio节点:确认稳定后冻结并删除Studio节点。

image.png

第一阶段:迁移实验并修改输出表名

步骤一:迁移实验

参考官方文档完成实验迁移。具体操作,请参见迁移Studio实验至Designer

步骤二:修改Designer工作流中的输出表名

迁移完成后,将Designer工作流中写数据表节点的输出表名改为新名称(建议添加_v2后缀)。

重要

此步骤为迁移的关键步骤。如果不修改输出表名,部署到DataWorks时会因输出节点名冲突报错,且两个任务写同一张表会造成数据冲突。

操作方法:

  1. 在PAI Designer中打开迁移后的工作流。

  2. 找到写数据表节点,将输出表名修改为新名称。例如:output_tableoutput_table_v2

  3. 如果输出表是分区表,先在MaxCompute中创建同结构的新分区表,分区参数保持不变。

  4. 运行一次Designer工作流,确认新表中有正确的输出数据。运行成功后即可进入第二阶段。

修改示例:

以下为 Studio 工作流中的写数据表配置(输出表为 output_table):

image.png

修改后 Designer 中的分区表配置(表名改为 output_table_v2):image.png

第二阶段:部署Designer节点到DataWorks

步骤一:创建PAI Designer调度节点

您可以通过以下两种方式创建调度节点。详细操作请参见使用DataWorks离线调度Designer工作流PAI Designer节点

方式一:通过Designer控制台发起

  1. 在PAI Designer中打开已成功运行的工作流。

  2. 单击画布上方的周期性调度,系统自动跳转至DataWorks并创建节点。

方式二:在DataWorks中手动创建

  1. 进入DataWorks数据开发页面,单击新建 > 新建节点 > 算法 > PAI Designer

  2. 在节点编辑页面选择关联的Designer工作流。

步骤二:配置调度属性

  1. 参照原Studio节点的调度配置,设置调度周期、定时时间、重跑属性等,与原配置保持一致。

  2. 如原实验使用了调度参数(如${bizdate}),在Designer节点中同样配置。

  3. 保存并提交节点。标准模式需进入发布中心发布至生产环境。

重要

首次创建节点时会自动获取最新的实验内容。但如果创建节点后又修改了Designer工作流(如调整输出表名),需在节点编辑页面单击重新加载同步最新内容,否则运行时仍使用旧的实验内容。

参考文档: 配置并使用调度参数 | 调度依赖配置指引

第三阶段:修改下游节点依赖并并行运行

步骤一:切换下游节点到新表

原Studio节点的下游任务依赖老表(如output_table),需切换到Designer产出的新表(如output_table_v2)。

对每个下游节点执行以下操作:

  1. 打开下游节点编辑页面,进入调度配置 > 调度依赖

  2. 修改上游依赖:

    • SQL节点:将代码中的表名改为新表名,然后单击从代码解析输入输出,系统自动关联到Designer节点的输出。

    • 非SQL节点:手动删除Studio节点输出名称,添加Designer节点输出名称(如工作空间名.output_table_v2)。

  3. 保存、提交并发布。

步骤二:并行运行验证

切换完成后,两个任务并行运行:

  • Studio任务:继续写入原表,但已无下游依赖。

  • Designer任务:写入新表,下游节点已切换至此。

建议并行观察3~7天,在运维中心确认Designer节点正常触发、运行无报错、下游业务结果正确。并行运行期间Studio仍在产出数据,如发现问题可随时回滚。

第四阶段:下线Studio节点

确认Designer任务稳定后:

  1. 在运维中心冻结Studio节点,暂停调度。冻结而非直接删除,是为了保留回滚能力。

  2. 观察1~2个调度周期,确认链路正常。

  3. 确认无影响后删除Studio节点并发布。

说明

删除时若提示存在下游依赖,说明仍有节点引用了Studio的输出名称,需逐一排查修改。

回滚策略

如迁移后发现问题,按以下步骤回滚:

  1. 将下游节点的依赖和表名改回原值,提交发布。

  2. 解冻Studio节点,恢复调度。

  3. 冻结Designer节点。

  4. 排查问题修复后重新切换。

说明

Studio节点冻结后建议保留至少2周,确认完全稳定后再最终删除。

常见问题

输出节点名冲突

现象:部署Designer节点时报错"不能多个节点使用同一个输出名"。

原因:DataWorks节点未同步到最新的实验内容,自动解析的输出名仍基于旧表名。

解决方法:在Designer节点编辑页面单击重新加载获取最新实验内容,重新提交即可。

分区表迁移失败

现象:Designer工作流运行失败,提示目标表不存在。

解决方法:在MaxCompute中预先创建新分区表(如output_table_v2),表结构和分区字段与原表一致。

无法删除Studio节点

现象:删除时提示存在下游依赖。

解决方法:在运维中心查看该节点下游依赖列表,逐一将下游节点的依赖切换到Designer输出,提交发布后再删除。

调度参数未生效

现象:Designer节点运行时参数未正确替换。

解决方法:确认Designer工作流中组件已配置参数占位符${变量名},且DataWorks节点调度配置中的参数赋值与原Studio节点一致。可用补数据功能验证参数是否生效。

不支持迁移的组件

现象:部分Studio组件(流式组件、部分自定义算法)在Designer中无对应支持。

解决方法:参见Designer概述中的组件列表寻找替代方案,或联系阿里云技术支持。

迁移检查清单

阶段

检查项

状态

第一阶段

实验已迁移,Designer输出表名已修改,手动运行成功

第二阶段

Designer调度节点已创建、配置并发布

第三阶段

下游节点依赖和表名已切换至新表,并行验证通过(3~7天)

第四阶段

Studio节点已冻结,观察期后删除

相关文档