全局变量

在工作流中使用全局变量可以减少重复参数的配置,常用于在线工作流以及DataWorks离线调度工作流。在在线工作流中,全局变量使多个组件能够共享相同的参数,而在DataWorks的离线调度中,则用于替换定时调度参数,从而提升工作流的灵活性和效率。

使用方法

  1. 配置全局变量。

    进入已创建的工作流,单击画布空白处,在界面右侧新建全局变量。

    image

  2. 在使用全局变量处输入${变量名},即可引用该变量。

使用示例1:在线工作流使用全局变量

本例通过设置全局变量para1,将表中的列名status更改为ifHealth并在SQL脚本中进行引用。

  1. 创建工作流

    本例以预置模板“心脏病预测案例”为例创建工作流,创建完成后,仅保留前两个节点,并删除其余的节点。

  2. 单击画布空白处,在界面右侧新建全局变量。

    配置的全局变量名为para1,值为ifHealth

    image

  3. 使用全局变量。

    修改SQL脚本,将使用全局变量处替换为${para1},引用该变量。

    image

  4. 运行工作流。

    待运行结束,右击组件SQL脚本,选择查看数据 > SQL脚本的输出,可以看到列名status已经改为ifHealth

    image

使用示例2:DataWorks离线调度工作流时使用全局变量

本例通过设置全局变量gDate,将定时调度的工作流与日期进行关联,然后在DataWorks上设置同名调度参数进行调度。

  1. 创建测试数据表。

    本例以在MaxCompute控制台上创建一个名为dwtest的表(详见下表)为例。具体操作,请参见SQL参考

    image

  2. 创建工作流并配置全局变量。

    1. 单击画布空白处,在界面右侧新建全局变量gDate

      image

    2. 配置工作流组件。

      image

      • 读数据表:表名配置为上述创建的表dwtest。

      • SQL脚本:在SQL脚本中使用上述配置的全局变量gDate

        select * from ${t1} where ds=${gDate}
  3. 运行工作流。

    待运行结束,右击组件SQL脚本,选择查看数据 > SQL脚本的输出,可以看到查询的全局变量gDate对应的数据。

    image

  4. 单击画布左上方的周期性调度,再单击新建调度节点,跳转到DataWorks进行离线调度,在新建节点对话框配置节点名称,单击确认

  5. 选择PAI Designer实验,然后单击画面右侧的调度配置。具体配置详情,请参见任务调度配置

    image

    本示例配置如下,其余保持默认配置:

    • 调度参数:新增同名调度参数gDate,值为$bizdate

      image

    • 时间属性:重跑属性配置为运行成功或失败后皆可重跑。

      image

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

      image

  6. 单击工具栏中的保存提交图标,根据界面提示,保存并提交节点。

  7. 单击页面上方的运维中心,查看机器学习任务的运行情况和操作日志。

    您也可以直接进行补数据、工作流试跑等操作,详情请参见查看并管理周期任务

相关文档