配置并使用调度参数

调度参数是根据任务调度的业务时间及调度参数的取值格式自动替换为具体的值,实现在任务调度时间内参数的动态替换。本文为您介绍如何配置及使用调度参数,并以ODPS SQL节点为例,讲解调度参数配置完成后使用冒烟测试功能测试调度参数的替换情况。

注意事项

运行(运行)与高级运行(高级运行)功能需手动为代码中的变量赋值常量,因此无法校验配置的调度参数是否符合预期。

调度参数配置流程

调度参数的配置流程如下表。

序号

描述

相关参考

1

您需在节点代码中通过${变量名}的方式定义变量,再前往调度配置 > 参数界面为变量赋值调度参数。

定义变量

2

通过可视化及表达式两种方式为代码中的变量赋值。

为变量赋值调度参数

3

通过调度参数预览功能,单独测试调度参数在调度场景下的替换情况。

测试调度参数替换情况

4

通过开发环境冒烟测试功能,测试调度场景下代码执行与参数替换情况。

测试代码执行及调度参数替换情况

5

测试通过后,任务发布至生产环境,您需在生产运维中心的周期任务界面,确认生产环境任务使用的调度参数是否符合预期。

确认生产环境任务的调度参数配置

配置调度参数,并验证参数执行情况的完整示例,详情请参见完整配置示例。配置调度参数时的常见问题,请参见调度参数

定义变量

您可根据业务需求,参考下图步骤在代码中自定义变量,并在调度配置 > 参数中为变量赋值。

说明

部分节点会自带${bizdate}变量名,该变量名自动赋值为$bizdate,您可替换代码中bizdate变量名为自定义的变量名。

定义变量

为变量赋值调度参数

DataWorks支持使用可视化方式或表达式方式新增参数。

参数定义方式

功能点

描述

配置图示

可视化方式

新增参数

同一个调度任务可以配置多个调度参数,当需使用多个调度参数时,可以单击新增参数添加。

更多调度参数的赋值,详情请参见调度参数支持的格式

新增参数

加载代码中的参数

用于自动识别当前任务代码中定义的变量名,并将识别到的变量名添加为调度参数,便于调度任务后续使用。

说明

通常,代码中是按照${自定义变量名}方式来定义变量名。

Pyodps节点、通用Shell节点对于变量名的定义方式与其他节点存在差异。各类型节点的调度参数配置格式,详情请参见各类型节点的调度参数配置示例

加载代码中的参数

表达式方式

用表达式定义

调度参数配置界面默认使用可视化方式定义参数,如果您习惯使用表达式定义,则可单击用表达式定义进行参数定义。

说明
  • 使用表达式定义时,多个参数之间使用空格分隔。

  • 当通过用表达式定义方式,添加、删除或修改调度参数时,DataWorks会对当前表达式的语法进行校验,校验不通过则无法配置相应调度参数。

    例如,DataWorks会对等号左右不允许使用空格等语法规则进行检测。

表达式定义

测试调度参数替换情况

说明

中括号格式$[...]的取值与节点调度周期配置有关,即与实例定时时间有关。调度周期配置,详情请参见时间属性配置说明

调度参数赋值完成后,您可使用调度参数预览功能,单独测试参数的替换是否符合预期。

DataWorks会根据节点的调度配置,模拟任务调度时的参数转换,您可基于转换后的参数值验证调度参数转换是否正确。若参数值不符合预期,请根据业务需求及时调整调度配置,以免影响任务正常调度运行。

测试代码执行及调度参数替换情况

调度参数赋值完成后,建议通过冒烟测试功能,配置业务日期,模拟目标任务的调度场景,验证该场景下代码执行及调度参数的替换是否符合预期。若不符合预期,请根据需要及时调整,以免影响任务正常调度运行。

修改节点代码后,请及时保存(保存)并提交(提交)。当节点最新代码提交至开发环境后,才可在开发环境使用冒烟测试功能。

说明
  • 运行(运行)与高级运行(高级运行)功能需手动为代码中的变量赋值常量,因此无法校验配置的调度参数是否符合预期。

  • 执行冒烟测试时,会生成相应实例产生实例费用。实例的费用详情请参见Serverless资源组计费

  1. 执行冒烟测试冒烟测试

  2. 查看冒烟测试日志查看冒烟测试日志

确认生产环境任务的调度参数配置

为避免周期调度任务运行时,由于调度参数不符合预期,导致任务运行出现问题,建议在任务发布后,前往生产运维中心的周期任务界面,查看生产环境下该周期任务的调度参数配置情况。查看周期任务,详情请参见查看并管理周期任务生产环境确认参数配置

说明

如果周期任务的调度参数配置不符合预期,或运维中心搜索不到目标任务,请确认该任务是否发布成功。任务的发布操作,详情请参见发布任务

完整配置示例

本文以ODPS SQL节点为例,通过在开发环境执行冒烟测试功能测试配置的调度参数是否符合预期,并在任务发布后,查看生产运维中心中该任务的调度参数配置情况。

说明

各类型节点的调度参数配置,详情请参见各类型节点的调度参数配置示例

  1. 编辑节点代码并配置调度参数。

    ODPS SQL节点的代码及调度参数的配置情况如下图所示。节点代码及参数配置

    1. 代码中定义变量。

      在ODPS SQL节点代码中引用系统内置参数'${var1}''${var2}',系统自定义参数'${var3}''${var4}'变量(如区域1)。

    2. 为变量赋值。

      调度配置 > 参数区域,为变量赋值(如区域2)。

      • var1=$bizdate,即取yyyymmdd格式的业务日期。

      • var2=$cyctime,即取yyyymmddhh24miss格式的任务定时运行时间。

      • var3=${yyyymmdd},即取yyyymmdd格式的业务日期。

      • var4=$[yyyymmddhh24miss],即取yyyymmddhh24miss格式的任务定时运行时间。

    3. 可选:配置时间周期。

      配置ODPS SQL节点的调度周期为小时调度(如区域3)。

      说明

      您可以根据实际情况选择是否配置时间周期,本文以添加时间周期示例。

      • 调度开始时间为16:00

      • 调度结束时间为23:59

      • 调度时间间隔为1小时。

      更多时间周期配置,详情请参见时间属性配置说明

  2. 在节点编辑页面的顶部工具栏,单击保存提交图标,保存并提交ODPS SQL节点的配置。

  3. 执行开发环境冒烟测试。

    1. 单击开发环境冒烟测试图标,在开发环境测试对话框配置业务时间,模拟节点的调度周期。

      配置业务时间业务时间配置如下:

      • 业务日期:2022-03-09

      • 开始时间:16:00

      • 结束时间:17:00

      ODPS SQL任务为小时调度任务,则该任务在2022-03-1016:0017:00时间会生成两个实例。

      说明

      因为业务日期为运行日期的前一天,因此,任务实际运行日期为2022-03-10

      16:00节点预期的取值结果如下:

      • var1=20220309

      • var2=20220310160000

      • var3=20220309

      • var4=20220310160000

      17:00节点预期的取值结果如下:

      • var1=20220309

      • var2=20220310170000

      • var3=20220309

      • var4=20220310170000

    2. 单击确认,节点按照指定时间启动运行。

    3. 运行时间结束后,单击查看冒烟测试日志图标,查看冒烟测试日志。

      节点生成的两个实例运行成功,且节点运行结果符合预期。查看测试结果

  4. 在ODPS SQL节点编辑页面,单击顶部菜单栏右侧的发布,发布当前节点。

    任务的发布操作,详情请参见发布任务

  5. 进入运维中心,确认节点的调度参数配置。

    生产环境参数配置

    1. 单击DataStudio顶部菜单栏右侧的运维中心,进入运维中心页面。

    2. 周期任务运维 > 周期任务界面,搜索目标节点。

      说明

      节点发布成功后,您才能在周期任务界面搜索到。

    3. 单击目标节点操作列的更多 > 查看节点详情,在节点基本信息中查看执行参数

      本次示例中,节点的执行参数为var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss],符合预期。