在工作流中使用全局变量可以减少重复参数的配置,常用于在线工作流以及DataWorks离线调度工作流。在在线工作流中,全局变量使多个组件能够共享相同的参数,而在DataWorks的离线调度中,则用于替换定时调度参数,从而提升工作流的灵活性和效率。
使用方法
配置全局变量。
进入已创建的工作流,单击画布空白处,在界面右侧新建全局变量。

在使用全局变量处输入
${变量名},即可引用该变量。
使用示例1:在线工作流使用全局变量
本例通过设置全局变量para1,将表中的列名status更改为ifHealth,并在SQL脚本中进行引用。
本例以预置模板“心脏病预测案例”为例创建工作流,创建完成后,仅保留前两个节点,并删除其余的节点。
单击画布空白处,在界面右侧新建全局变量。
配置的全局变量名为
para1,值为ifHealth。
使用全局变量。
修改SQL脚本,将使用全局变量处替换为
${para1},引用该变量。
运行工作流。
待运行结束,右击组件SQL脚本,选择查看数据 > SQL脚本的输出,可以看到列名
status已经改为ifHealth。
使用示例2:DataWorks离线调度工作流时使用全局变量
本例通过设置全局变量gDate,将定时调度的工作流与日期进行关联,然后在DataWorks上设置同名调度参数进行调度。
创建测试数据表。
本例以在MaxCompute控制台上创建一个名为dwtest的表(详见下表)为例。具体操作,请参见SQL参考。

创建工作流并配置全局变量。
单击画布空白处,在界面右侧新建全局变量
gDate。
配置工作流组件。

读数据表:表名配置为上述创建的表dwtest。
SQL脚本:在SQL脚本中使用上述配置的全局变量
gDate。select * from ${t1} where ds=${gDate}
运行工作流。
待运行结束,右击组件SQL脚本,选择查看数据 > SQL脚本的输出,可以看到查询的全局变量gDate对应的数据。

单击画布左上方的周期性调度,再单击新建调度节点,跳转到DataWorks进行离线调度,在新建节点对话框配置节点名称,单击确认。
选择PAI Designer实验,然后单击画面右侧的调度配置。具体配置详情,请参见任务调度配置。

本示例配置如下,其余保持默认配置:
调度参数:新增同名调度参数
gDate,值为$bizdate。
时间属性:重跑属性配置为运行成功或失败后皆可重跑。

调度依赖:依赖的上游节点为使用工作空间根节点。

单击工具栏中的
和
图标,根据界面提示,保存并提交节点。单击页面上方的运维中心,查看机器学习任务的运行情况和操作日志。
您也可以直接进行补数据、工作流试跑等操作,详情请参见查看并管理周期任务。