调度参数是根据任务调度的业务时间及调度参数的取值格式自动替换为具体的值,实现在任务调度时间内参数的动态替换。本文为您介绍如何配置及使用调度参数,并以ODPS SQL节点为例,讲解调度参数配置完成后使用冒烟测试功能测试调度参数的替换情况。
注意事项
运行()与高级运行()功能需手动为代码中的变量赋值常量,因此无法校验配置的调度参数是否符合预期。
调度参数配置流程
调度参数的配置流程如下表。
序号 | 描述 | 相关参考 |
1 | 您需在节点代码中通过 | |
2 | 通过可视化及表达式两种方式为代码中的变量赋值。 | |
3 | 通过调度参数预览功能,单独测试调度参数在调度场景下的替换情况。 | |
4 | 通过开发环境冒烟测试功能,测试调度场景下代码执行与参数替换情况。 | |
5 | 测试通过后,任务发布至生产环境,您需在生产运维中心的周期任务界面,确认生产环境任务使用的调度参数是否符合预期。 |
定义变量
您可根据业务需求,参考下图步骤在代码中自定义变量,并在
中为变量赋值。部分节点会自带${bizdate}
变量名,该变量名自动赋值为$bizdate
,您可替换代码中bizdate
变量名为自定义的变量名。
为变量赋值调度参数
DataWorks支持使用可视化方式或表达式方式新增参数。
参数定义方式 | 功能点 | 描述 | 配置图示 |
可视化方式 | 新增参数 | 同一个调度任务可以配置多个调度参数,当需使用多个调度参数时,可以单击新增参数添加。 更多调度参数的赋值,详情请参见调度参数支持的格式。 | |
加载代码中的参数 | 用于自动识别当前任务代码中定义的变量名,并将识别到的变量名添加为调度参数,便于调度任务后续使用。 说明 通常,代码中是按照 Pyodps节点、通用Shell节点对于变量名的定义方式与其他节点存在差异。各类型节点的调度参数配置格式,详情请参见各类型节点的调度参数配置示例。 | ||
表达式方式 | 用表达式定义 | 调度参数配置界面默认使用可视化方式定义参数,如果您习惯使用表达式定义,则可单击用表达式定义进行参数定义。 说明
|
测试调度参数替换情况
中括号格式$[...]
的取值与节点调度周期配置有关,即与实例定时时间有关。调度周期配置,详情请参见时间属性配置说明。
调度参数赋值完成后,您可使用调度参数预览功能,单独测试参数的替换是否符合预期。
DataWorks会根据节点的调度配置,模拟任务调度时的参数转换,您可基于转换后的参数值验证调度参数转换是否正确。若参数值不符合预期,请根据业务需求及时调整调度配置,以免影响任务正常调度运行。
测试代码执行及调度参数替换情况
调度参数赋值完成后,建议通过冒烟测试功能,配置业务日期,模拟目标任务的调度场景,验证该场景下代码执行及调度参数的替换是否符合预期。若不符合预期,请根据需要及时调整,以免影响任务正常调度运行。
修改节点代码后,请及时保存()并提交()。当节点最新代码提交至开发环境后,才可在开发环境使用冒烟测试功能。
运行()与高级运行()功能需手动为代码中的变量赋值常量,因此无法校验配置的调度参数是否符合预期。
执行冒烟测试时,会生成相应实例产生实例费用。实例的费用详情请参见Serverless资源组计费。
执行冒烟测试
查看冒烟测试日志
确认生产环境任务的调度参数配置
完整配置示例
本文以ODPS SQL节点为例,通过在开发环境执行冒烟测试功能测试配置的调度参数是否符合预期,并在任务发布后,查看生产运维中心中该任务的调度参数配置情况。
各类型节点的调度参数配置,详情请参见各类型节点的调度参数配置示例。
编辑节点代码并配置调度参数。
ODPS SQL节点的代码及调度参数的配置情况如下图所示。
代码中定义变量。
在ODPS SQL节点代码中引用系统内置参数
'${var1}'
、'${var2}'
,系统自定义参数'${var3}'
、'${var4}'
变量(如区域1)。为变量赋值。
在
区域,为变量赋值(如区域2)。var1=$bizdate
,即取yyyymmdd
格式的业务日期。var2=$cyctime
,即取yyyymmddhh24miss
格式的任务定时运行时间。var3=${yyyymmdd}
,即取yyyymmdd
格式的业务日期。var4=$[yyyymmddhh24miss]
,即取yyyymmddhh24miss
格式的任务定时运行时间。
可选:配置时间周期。
配置ODPS SQL节点的调度周期为小时调度(如区域3)。
说明您可以根据实际情况选择是否配置时间周期,本文以添加时间周期示例。
调度开始时间为
16:00
调度结束时间为
23:59
调度时间间隔为
1
小时。
更多时间周期配置,详情请参见时间属性配置说明。
在节点编辑页面的顶部工具栏,单击及图标,保存并提交ODPS SQL节点的配置。
执行开发环境冒烟测试。
单击图标,在开发环境测试对话框配置业务时间,模拟节点的调度周期。
业务时间配置如下:
业务日期:
2022-03-09
开始时间:
16:00
结束时间:
17:00
ODPS SQL任务为小时调度任务,则该任务在
2022-03-10
的16:00
、17:00
时间会生成两个实例。说明因为业务日期为运行日期的前一天,因此,任务实际运行日期为
2022-03-10
。16:00
节点预期的取值结果如下:var1=20220309
。var2=20220310160000
。var3=20220309
。var4=20220310160000
。
17:00
节点预期的取值结果如下:var1=20220309
。var2=20220310170000
。var3=20220309
。var4=20220310170000
。
单击确认,节点按照指定时间启动运行。
运行时间结束后,单击图标,查看冒烟测试日志。
节点生成的两个实例运行成功,且节点运行结果符合预期。
在ODPS SQL节点编辑页面,单击顶部菜单栏右侧的发布,发布当前节点。
任务的发布操作,详情请参见发布任务。
进入运维中心,确认节点的调度参数配置。
单击DataStudio顶部菜单栏右侧的运维中心,进入运维中心页面。
在 界面,搜索目标节点。
说明节点发布成功后,您才能在周期任务界面搜索到。
单击目标节点操作列的 ,在节点基本信息中查看执行参数。
本次示例中,节点的执行参数为
var1=$bizdate var2=$cyctime var3=${yyyymmdd} var4=$[yyyymmddhh24miss]
,符合预期。