在工作流中使用全局变量可以减少重复参数的配置,常用于在线工作流以及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
。时间属性:重跑属性配置为运行成功或失败后皆可重跑。
调度依赖:依赖的上游节点为使用工作空间根节点。
单击工具栏中的和图标,根据界面提示,保存并提交节点。
单击页面上方的运维中心,查看机器学习任务的运行情况和操作日志。
您也可以直接进行补数据、工作流试跑等操作,详情请参见查看并管理周期任务。